元监控
监控您的警报指标,以确保在问题变得严重之前识别潜在问题。
元监控是指监控您的监控系统和在监控不正常工作时发出警报的过程。
为了使您能够进行元监控,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
此指标是一个计数器,显示您 正常
、待处理
、警报中
、无数据
和 错误
警报的数量。例如,您可能想创建一个警报,当 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 已发送的通知数量。该指标使用“集成”标签来显示通过集成发送的通知数量,例如通过电子邮件发送的通知。
alertmanager_notifications_failed_total
此指标是一个计数器,显示总共失败的通知数量。此指标还使用“集成”标签来显示通过集成失败的通知数量,例如失败电子邮件。在大多数情况下,使用 rate
函数来了解通知失败发送的频率。
alertmanager_notification_latency_seconds_bucket
此指标是一个直方图,显示 Alertmanager 发送通知以及接收服务接受这些通知所需的时间。此指标使用“集成”标签来显示通过集成的时间。例如,您可以使用此指标来显示发送电子邮件的 95 分位数延迟。
高可用模式下的 Alertmanager 指标
如果您在高可用模式下使用Alertmanager,可能需要创建一些额外的指标来生成警报。
告警管理器集群成员
该指标是一个仪表,显示集群中当前成员的数量。该仪表的值应在所有Alertmanagers中相同。如果不同的Alertmanagers显示不同的成员数量,则这表明您的Alertmanager集群存在问题。您应该查看Alertmanagers的指标和日志,以更好地了解可能发生的问题。
告警管理器集群失败的对等方
该指标是一个仪表,显示当前失败的对等方数量。
告警管理器集群健康分数
该指标是一个仪表,显示Alertmanager的健康分数。值越低越好,零表示Alertmanager运行正常。
告警管理器集群对等方信息
该指标是一个仪表。它有一个常数值1
,包含一个名为“peer”的标签,包含每个已知对等方的对等方ID。
告警管理器集群重连失败总数
该指标是一个计数器,显示失败的对等方连接尝试次数。在大多数情况下,您应该使用rate
函数来了解重连失败的发生频率,因为这可能表明您的网络存在问题或不稳定。