菜单
企业版 开源版 RSS

元监控

监控您的警报指标,以确保您在问题变得严重之前识别潜在问题。

元监控是指监控您的监控系统,并在监控系统无法正常工作时发出警报。

为了让您能够进行元监控,Grafana 提供了预定义的指标。

确定哪些指标对您的监控系统(即 Grafana)至关重要,然后设置您希望如何监控它们。

您可以使用元监控指标以以下方式了解您的警报系统的运行状况

  1. 可选:在 Grafana 中创建一个仪表盘,该仪表盘在面板中使用此指标(就像您对任何其他类型的指标一样)。
  2. 可选:在 Grafana 中创建一个警报规则,该规则定期检查此指标(就像您对任何其他类型的警报规则一样)。
  3. 可选:使用 Grafana 中的探索模块。

Grafana 管理的警报指标

要元监控 Grafana 管理的警报,您需要一个 Prometheus 服务器或其他指标数据库来收集和存储 Grafana 导出的指标。

例如,如果您使用的是 Prometheus,请在 Prometheus 中添加一个 scrape_config 来从 Grafana、Alertmanager 或您的数据源抓取指标。

示例

yaml
- 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 抓取指标。

示例

yaml
- 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` 函数来了解重新连接失败的频率,因为这可能表明网络存在问题或不稳定。