首页/云/可观测性速查/监控系统自身的可观测性
监控体系与方法40 条

监控系统自身的可观测性

监控断点常被忽略:采集器挂了、告警通道静默、规则未加载,都会让系统看起来一切正常。应对监控链路各环节做自监控。

可观测性速查云更新于 2026-10-13

监控也会坏

监控系统自身也会失效:采集器停止、规则不再评估、通知渠道静默,这些故障不会产生任何告警。结果是业务实际已经处于无人监控的状态,而所有人都以为一切正常,往往要等真正出故障时才被发现。

把链路每一环都当对象

做法是把监控链路的每个环节都纳入监控:采集端看抓取成功率与耗时,规则端看最近评估时间,通知端看投递结果。任何一环的指标缺失或停滞,本身就是需要处理的信号,而不是可以忽略的噪音。

基本信息

采集端抓取状态与抓取耗时
存储端序列总数与写入情况
规则端规则组最近一次评估时间
通知端通知发送失败计数

典型使用场景

  • 抓取失败告警:目标失联或抓取超时
  • 规则停滞告警:评估时间长时间不更新
  • 序列数异常:基数膨胀或采集范围被误改
  • 通知投递失败:通道不可用导致告警丢失
  • 心跳检测:定期生成一条必然触发的测试告警,验证全链路可达

自监控的基础告警

自监控的基础告警
# 目标失联
up == 0

# 规则组超过 5 分钟未评估
time() - prometheus_rule_group_last_evaluation_timestamp_seconds > 300

# 采集耗时逼近超时阈值
scrape_duration_seconds > 0.8 * scrape_timeout_seconds

# 序列总数突增,提示基数异常
prometheus_tsdb_head_series > 3000000

自监控对象

环节关键指标异常信号
采集端抓取状态与耗时目标失联或抓取超时
存储端当前序列总数序列数异常增长
规则端规则组评估时间规则停滞不再评估
通知端通知投递结果通道静默或投递失败

部署与演练

  • 监控组件与被监控系统避免强耦合,防止一起失联
  • 告警通道保留多条,避免单通道故障导致全部通知失效
  • 定期做通道演练,确认消息真的能送到人
  • 自监控告警本身也要有兜底:留一条独立的检查路径
自监控的指标要与业务监控同样对待:告警规则、看板与值班归属都要明确,否则它只会成为一块没人看的面板。
监控系统与业务系统部署在同一处,一旦整体不可用会同时失效:至少让告警通道与检查手段保持独立。

易错点

  • 只监控业务不监控监控:采集断点可能数小时后才被察觉
  • 通知通道单点:通道故障时告警全部静默丢失
  • 规则评估停滞无人发现:指标还在收,判断已经停了
  • 从不做通道演练:以为能收到告警,实际早已不可用

数据来源与参考

  • Prometheus 文档 · 自监控指标
  • Alertmanager 通知失败可见性相关文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌