Prometheus云原生监控:运维与开发实战
上QQ阅读APP看书,第一时间看更新

1.3.2 指导实践的3大监控方法论

在了解了MDD理念以后,大家还需要了解一些基于指标的方法论,这里以小知识点的形式总结如下。

1.Google的四大黄金指标

有4个来自Google SRE手册的黄金指标,这4个指标主要针对应用程序或用户部分。

·延迟(Latency):服务请求所需耗时,例如HTTP请求平均延迟。需要区分成功请求和失败请求,因为失败请求可能会以非常低的延迟返回错误结果。

·流量(Traffic):衡量服务容量需求(针对系统而言),例如每秒处理的HTTP请求数或者数据库系统的事务数量。

·错误(Errors):请求失败的速率,用于衡量错误发生的情况,例如HTTP 500错误数等显式失败,返回错误内容或无效内容等隐式失败,以及由策略原因导致的失败(比如强制要求响应时间超过30ms的请求为错误)。

·饱和度(Saturation):衡量资源的使用情况,例如内存、CPU、I/O、磁盘使用量(即将饱和的部分,比如正在快速填充的磁盘)。

2.Netflix的USE方法

USE是Utilization(使用率)、Saturation(饱和度)、Error(错误)的首字母组合,是Netflix的内核和性能工程师Brendan Gregg提出的,主要用于分析系统性能问题,可以指导用户快速识别资源瓶颈及错误。

·使用率:关注系统资源的使用情况。这里的资源主要包括但不限于CPU、内存、网络、磁盘等。100%的使用率通常是系统性能瓶颈的标志。

·饱和度:例如CPU的平均运行排队长度,这里主要是针对资源的饱和度(注意,不同于四大黄金指标)。任何资源在某种程度上的饱和都可能导致系统性能的下降。

·错误:错误数。例如,网卡在数据包传输过程中检测到以太网络冲突了14次。

3.Weave Cloud的RED方法

RED方法是Weave Cloud基于Google的4个黄金指标再结合Prometheus及Kubernetes容器实践得出的方法论,特别适用于对云原生应用以及微服务架构应用进行监控和度量。在四大黄金指标的原则下,RED方法可以有效地帮助用户衡量云原生以及微服务应用下的用户体验问题。RED方法主要关注以下3种关键指标。

·(Request)Rate:每秒接收的请求数。

·(Request)Errors:每秒失败的请求数。

·(Request)Duration:每个请求所花费的时间,用时间间隔表示。

一般来说,上述三大监控理论的最佳实践是:在遵循Google四大黄金指标的前提下,对于在线系统,结合RED方法和缓存命中率方式进行监测;对于离线系统或者主机监控,以USE方法为主进行监测;对于批处理系统,可以采用类似Pushgateway的形式进行监控。