元监控
监控您的警报指标,以确保您在问题变得严重之前识别潜在问题。
元监控是指监控您的监控系统,并在监控系统无法正常工作时发出警报。
为了让您能够进行元监控,Grafana 提供了预定义的指标。
确定哪些指标对您的监控系统(即 Grafana)至关重要,然后设置您希望如何监控它们。
您可以使用元监控指标以以下方式了解您的警报系统的运行状况
- 可选:在 Grafana 中创建一个仪表盘,该仪表盘在面板中使用此指标(就像您对任何其他类型的指标一样)。
- 可选:在 Grafana 中创建一个警报规则,该规则定期检查此指标(就像您对任何其他类型的警报规则一样)。
- 可选:使用 Grafana 中的探索模块。
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 规则引擎(负责评估警报规则)和 Grafana Alertmanager(负责发送触发和解决警报的通知)提供许多指标,让您可以观察它们。
grafana_alerting_alerts
此指标是一个计数器,显示 正常
、待定
、警报
、无数据
和 错误
警报的数量。例如,您可能希望创建一个警报,当 grafana_alerting_alerts{state="error"}
大于 0 时触发。
grafana_alerting_schedule_alert_rules
此指标是一个测量器,显示已安排的警报规则的数量。除非警报规则已暂停,否则它将被安排,此指标的值应与 Grafana 中未暂停的警报规则总数匹配。
grafana_alerting_schedule_periodic_duration_seconds_bucket
此指标是一个直方图,显示评估警报规则的调度程序处理单个刻度所需的时间。如果调度程序处理一个刻度的时间超过 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 规则引擎导出的指标。
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”的标签,其中包含每个已知对等节点的对等节点 ID。
alertmanager_cluster_reconnections_failed_total
此指标是一个计数器,显示失败的对等节点连接尝试次数。在大多数情况下,您应该使用 `rate` 函数来了解重新连接失败的频率,因为这可能表明网络存在问题或不稳定。