在这篇文章中我们介绍了如何利用Prometheus监控应用。在后续的工作中随着监控的深入,我们结合自己的经验和官方文档总结了一些Metrics的实践。希望这些实践能给大家提供参考。
确定监控对象
在具体设计Metrics之前,首先需要明确需要测量的对象。需要测量的对象应该依据具体的问题背景、需求和需监控的系统本身来确定。
从需求出发
Google针对大量分布式监控的经验总结出四个监控的黄金指标,这四个指标对于一般性的监控测量对象都具有较好的参考意义。这四个指标分别为:
-
延迟:服务请求的时间。
-
通讯量:监控当前系统的流量,用于衡量服务的容量需求。
-
错误:监控当前系统所有发生的错误请求,衡量当前系统错误发生的速率。
-
饱和度:衡量当前服务的饱和度。主要强调最能影响服务状态的受限制的资源。例如,如果系统主要受内存影响,那就主要关注系统的内存状态。
以上四种指标,其实是为了满足四个监控需求:
-
反映用户体验,衡量系统核心性能。如:在线系统的时延,作业计算系统的作业完成时间等。
-
反映系统的吞吐量。如:请求数,发出和接收的网络包大小等。
-
帮助发现和定位故障和问题。如:错误计数、调用失败率等。
-
反映系统的饱和度和负载。如:系统占用的内存、作业队列的长