2.4. 分布式系统的监控
2.4.1. 术语描述
- 监控
收集处理汇总并且展示关于某个系统的实时量化数据。
- 白盒监控
依靠系统内部暴露的一些性能指标进行监控。
- 黑盒监控
通过测试某种外部用户可见的系统行为进行监控。
- 监控台页面
提供某个服务核心指标一览服务的应用程序。
- 警报
目标对象是某个人发现某个系统地址的一个通知。
- 根源问题
指系统中的某种缺陷。
- 节点或者机器
物理机或者具体运行实例。
- 推送
关于某个服务正在运行的软件或者其配置文件的任何改动。
2.4.2. 为什么要监控
分析长期趋势
报警
构建监控台页面
历史性回溯分析
跨时间范围比较
2.4.3. 对监控系统设置合理预期
2.4.4. 现象与原因
什么东西出故障了是现象 , 为什么则表示原因。
2.4.5. 黑盒监控与白盒监控
黑盒监控是面向现象的,代表目前正在发生的,标识系统现在有故障。
白盒监控可以检测到即将发生的问题及哪些重试掩盖的问题。
2.4.6. 4个黄金指标
延迟
流量
错误
饱和度
2.4.7. 关于长尾问题
平均值不一定能发现一些长尾问题, 需要使用分位值。
2.4.8. 度量指标采用合适的精度
高采集周期保留比较短时间, 汇聚数据保留比较长时间。
2.4.9. 简化到不能在简化
哪些最能反映真实故障的规则应该约简单越好,可预测性强,非常可靠。
哪些不常用的应该删除
2.4.10. 将上述理念整合起来
问题的问题
改规则能否检测到一个当前检测不到的用户可见故障。
是否忽略这个报警,如何避免
这边警报是否展示用户正在收到影响
收到报警是不是必须要进行某个操作。
是否其他人收到相关的紧急报警。
深层理念
每当收到报警,都应该采取某种操作。
每个报警都应该是具体可以操作的。
每个报警的回复都应该某种智力分析过程
每个报警都应该是某个新问题的,不应该是彼此重叠的。
2.4.11. 监控系统的长期维护
2.4.12. 小结
要建立on-call轮值体系,构建一个产品展示当前发生和即将发生的问题进行报警,设置合理目标,保证监控系统可以支持快速 的问题定位与检测。