元监控
监控您的告警指标,确保在潜在问题变得严重之前识别它们。
元监控是监控您的监控系统并在监控系统未按预期工作时发出告警的过程。
为了使您能够进行元监控,Grafana 提供了预定义指标。
识别对您的监控系统(即 Grafana)至关重要的指标,然后设置如何监控它们。
您可以通过以下方式使用元监控指标了解告警系统的健康状况
- 可选:在 Grafana 中创建一个仪表盘,在面板中使用此指标(就像使用任何其他类型的指标一样)。
- 可选:在 Grafana 中创建一个告警规则,定期检查此指标(就像对任何其他类型的告警规则一样)。
- 可选:使用 Grafana 中的 Explore 模块。
Grafana 管理的告警指标
要对 Grafana 管理的告警进行元监控,您需要一个 Prometheus 服务器或其他指标数据库来收集和存储 Grafana 导出的指标。
例如,如果您正在使用 Prometheus,请向 Prometheus 添加一个 scrape_config
,以从 Grafana、Alertmanager 或您的数据源抓取指标。
示例
- job_name: grafana
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
follow_redirects: true
static_configs:
- targets:
- grafana:3000
可用指标列表
负责评估告警规则的 Grafana ruler 和负责发送触发和已解决告警通知的 Grafana Alertmanager 提供了许多指标,使您可以观察它们。
grafana_alerting_alerts
此指标是一个计数器,显示处于 normal
、pending
、alerting
、nodata
和 error
状态的告警数量。例如,您可能希望创建一个告警,当 grafana_alerting_alerts{state="error"}
大于 0 时触发。
grafana_alerting_schedule_alert_rules
此指标是一个仪表,显示已调度告警规则的数量。除非暂停,否则告警规则会被调度,并且此指标的值应与 Grafana 中未暂停告警规则的总数匹配。
grafana_alerting_schedule_periodic_duration_seconds_bucket
此指标是一个直方图,显示调度程序处理评估告警规则的单个 tick 所花费的时间。如果调度程序处理一个 tick 的时间超过 10 秒,则待处理的评估开始累积,导致告警规则可能会比预期晚触发。
grafana_alerting_schedule_query_alert_rules_duration_seconds_bucket
此指标是一个直方图,显示调度程序从数据库获取最新规则所需的时间。如果此指标较高,则也会评估 schedule_periodic_duration_seconds
。
grafana_alerting_scheduler_behind_seconds
此指标是一个仪表,显示调度程序落后于应有进度的秒数。如果 schedule_periodic_duration_seconds
持续时间超过 10 秒,此数值会增加;如果小于 10 秒,则会减少。此指标的最小可能值为 0。
grafana_alerting_notification_latency_seconds_bucket
此指标是一个直方图,显示发送触发和已解决告警通知所需的时间(秒)。此指标可让您观察缓慢或过度使用的集成,例如 SMTP 服务器接收电子邮件的速度快于其发送速度。
Mimir 管理的告警指标
要对 Grafana Mimir 管理的告警进行元监控,开源和本地用户需要一个 Prometheus/Mimir 服务器或其他指标数据库来收集和存储 Mimir ruler 导出的指标。
rule_evaluation_failures_total
此指标是一个计数器,显示规则评估失败的总次数。
Alertmanager 指标
要对 Alertmanager 进行元监控,您需要一个 Prometheus/Mimir 服务器或其他指标数据库来收集和存储 Alertmanager 导出的指标。
例如,如果您正在使用 Prometheus,您应该向 Prometheus 添加一个 scrape_config
,以从您的 Alertmanager 抓取指标。
示例
- job_name: alertmanager
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
follow_redirects: true
static_configs:
- targets:
- alertmanager:9093
可用指标列表
以下是 Alertmanager 的可用指标列表。
alertmanager_alerts
此指标是一个计数器,显示 Alertmanager 中处于活动、被抑制和未处理状态的告警数量。被抑制的告警是静默的告警,未处理的告警是已发送到 Alertmanager 但尚未处理的告警。
alertmanager_alerts_invalid_total
此指标是一个计数器,显示发送到 Alertmanager 的无效告警数量。此计数器不应超过 0,因此在大多数情况下,如果此指标增加,应创建一个触发告警的规则。
alertmanager_notifications_total
此指标是一个计数器,显示 Alertmanager 已发送的通知数量。该指标使用标签“integration”来显示按集成发送的通知数量,例如电子邮件。
alertmanager_notifications_failed_total
此指标是一个计数器,显示通知总共失败的次数。此指标也使用标签“integration”来显示按集成失败的通知数量,例如失败的电子邮件。在大多数情况下,使用 rate
函数来了解通知发送失败的频率。
alertmanager_notification_latency_seconds_bucket
此指标是一个直方图,显示 Alertmanager 发送通知以及接收服务接受这些通知所需的时间量。此指标使用标签“integration”来显示按集成的所需时间量。例如,您可以使用此指标来显示发送电子邮件的第 95 百分位数延迟。
高可用模式下 Alertmanager 的指标
如果您在高可用模式下使用 Alertmanager,则有许多您可能希望创建告警的附加指标。
alertmanager_cluster_members
此指标是一个仪表,显示集群中的当前成员数量。此仪表的值在所有 Alertmanager 中应该相同。如果不同的 Alertmanager 显示不同的成员数量,则表明您的 Alertmanager 集群存在问题。您应该查看 Alertmanager 的指标和日志,以便更好地了解可能出错的原因。
alertmanager_cluster_failed_peers
此指标是一个仪表,显示失败对等点的当前数量。
alertmanager_cluster_health_score
此指标是一个仪表,显示 Alertmanager 的健康评分。值越低越好,零表示 Alertmanager 健康。
alertmanager_cluster_peer_info
此指标是一个仪表。它具有常量值 1
,并包含一个名为“peer”的标签,其中包含每个已知对等点的 Peer ID。
alertmanager_cluster_reconnections_failed_total
此指标是一个计数器,显示失败的对等点连接尝试次数。在大多数情况下,您应该使用 rate
函数来了解重新连接失败的频率,因为这可能表明您的网络存在问题或不稳定。