监控机制和指标
监控机制
监控的方法是多种多样的,实际上,你可以说从单元测试到检查清单(checklist)的所有事情都是监控的某种形式。
但是传统上,监控的定义侧重于检查和测量应用程序的状态
探针和内省
监控应用程序主要有两种方法:探针(probing)和内省(introspection)。
**探针监控是在应用程序的外部,它查询应用程序的外部特征:监听端口是否有响应并返回正确的数据或状态码。**探针监控的一个例子是执行ICMP检查并确认可以收到响应。Nagios就是一个主要基于探针监控的监控系统。
**内省监控主要查看应用程序内部的内容。**应用程序经过检测,并返回其状态、内部组件,或者事务和事件性能的度量。这些数据可准确显示应用程序的运行方式,而不仅是其可用性或其表面行为。内省监控可以直接将事件、日志和指标发送到监控工具,也可以将信息发送给状态或健康检查接口,然后由监控工具收集。
这并不是说探针监控没有作用了,了解应用程序的外部状态通常很有用,特别是如果应用程序由第三方提供,并且你没有深入了解其内部操作的时候。从外部查看应用程序以了解某些网络、安全性或可用性问题通常也很有帮助。通常建议对安全网络进行探针监控以发现问题,然后使用内省监控进行报告和诊断。
拉去和推送
目前有两种执行监控检查的方式,分别是拉取(pull)和推送(push),这里我们简单讨论一下。
基于拉取的监控方式会提取或检查远程应用程序——例如包