监控后传

这些年随着互联网的进步,监控系统也越来越完善,那接下来就谈谈如何理解监控,以及监控要做到什么

最近一直在思考,监控到底该是一个什么样子,为什么要监控?

为什么要监控,我认为监控一个系统有多个原因

  1. 分析长期趋势
    通过对监控样本数据的持续收集和统计,对监控指标进行长期趋势分析
  2. 周期的比较(环比)
    通过跨时间的比较,或者是观察实验组与控制组之间的区别
  3. 报警
    出现故障,需要立刻修复,或者可能很快会出故障,需要提前介入查看
  4. 监控大盘(黄金指标)
    系统的展示服务的一些基本问题,具体参考4个黄金指标
  5. 回溯分析
    经过对长期数据存储分析,并对数据进行多维度的回溯分析,能够帮助我们透视化了解系统的异常情况,主动发现潜在隐患

监控系统的核心本质是什么

大家都知道,无论故障发生的概率有多小,只要有出现的可能,它总会复现。

海恩法则指出:每一起严重事故的背后,必然有29次轻微事故和300期未遂先兆以及1000起事故隐患。

法则强调俩点:
一是事故的发生是量的积累的结果
二是再好的技术,再完美的规章,在实际操作层面,也无法取代人自身的素质和责任心

因此我们需要对自己质疑

  1. 什么东西出故障了(现象)
  2. 为什么出故障(原因)

<<SRE:Goole运维解密>> 一书指出,监控系统需要能够有效的支持白盒监控和黑盒监控

可能有点懵,简单介绍一下 白盒监控、黑盒监控。

白盒监控大量依赖对系统内部信息的监测,如系统日志、抓取提供指标信息的http节点等,因此可以监测到即将发生的问题及哪些重试所掩盖的问题等。

黑盒监控是面向现象的,代表了目前正在发生的,而非预测会发生的问题,即(系统现在有故障)。

监控系统的4个黄金指标(延迟、流量、错误、饱和度)

延迟:服务处理某个请求所需要的时间
流量:使用系统中的某个高层次的指标对系统负载需求所进行的度量
错误:请求失败的速率
饱和度:服务容量有多“满”

如果我们的度量所有这4个黄金指标,同时在某个指标出现故障时发出警报,能做到这些,服务的监控就基本差不多了。