元监控
监控您的警报指标,以确保在潜在问题变得严重之前识别出来。
元监控是监控您的监控系统并在监控系统未按预期工作时发出警报的过程。
为了使您能够进行元监控,Grafana 提供了预定义的指标。
确定哪些指标对您的监控系统(即 Grafana)至关重要,然后设置您要如何监控它们。
您可以使用元监控指标通过以下方式了解您的警报系统的运行状况
- 可选:在 Grafana 中创建一个仪表板,该仪表板在面板中使用此指标(就像您对任何其他类型的指标所做的那样)。
- 可选:在 Grafana 中创建一个警报规则,定期检查此指标(就像您对任何其他类型的警报规则所做的那样)。
- 可选:使用 Grafana 中的 Explore 模块。
Grafana 管理的警报的指标
要元监控 Grafana 管理的警报,您需要 Prometheus 服务器或其他指标数据库来收集和存储 Grafana 导出的指标。
例如,如果您正在使用 Prometheus,请将 scrape_config
添加到 Prometheus,以从 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
此指标是一个直方图,向您显示调度程序中处理评估警报规则的单个滴答所花费的时间。如果调度程序处理滴答的时间超过 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,则应将 scrape_config
添加到 Prometheus,以从 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
函数来了解重新连接失败的频率,因为这可能表明您的网络存在问题或不稳定。