朱*科
读完需要
29分钟速读仅需10分钟
本文摘自于朱*科撰写的《Prometheus云原生监控:运维与开发实战》,重点介绍了在监控系统选型中应该考虑的问题。
1
黑盒监控和白盒监控
《SRE:Google运维解密》一书中指出,监控系统需要有效支持白盒监控和黑盒监控;还有一种类似的观点认为,监控系统必须支持探针(Probing)和内省(Introspection)。
黑盒监控,对应探针的概念,常见的有HTTP探针、TCP探针等,可以在系统或者服务发生故障时快速通知相关人员进行处理。探针位于应用程序的外部,通过监听端口是否有响应且返回正确的数据或状态码等外部特征来监控应用程序。Nagios就是一个主要基于黑盒/探针的监控系统。
白盒监控,对应内省的概念,通过白盒能够了解监控对象内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,从而对潜在的不确定因素进行优化。白盒监控可以直接将事件、日志和指标发送到监控工具,它具有比黑盒监控更丰富的应用程序上下文信息。MDD理念主要对应的就是基于白盒的监控系统。
2
监控检查的两种模式—拉取和推送
监控系统执行监控检查的模式主要有拉取(Pull)和推送(Push)两种。这两种模式究竟哪种更好?对此,监控领域内部存在相当大的争议。
拉取模式(简称拉模式),是一种从监控对象中通过轮询获取监控信息的方式。拉模式更多拉取的是采样值或者统计值,由于有拉取间隔,因此并不能准确获取数值状态的变化,只能看到拉取间隔内的变化,因此可能会产生一些毛刺现象,需要进一步进行数据处理。监控和性能测试更