写点什么

Prometheus 监控的 4 个黄金指标

用户头像
Rubble
关注
发布于: 1 小时前
Prometheus监控的4个黄金指标

Prometheus 简介部分介绍监控的基本目标,首先是及时发现问题其次是要能够快速对问题进行定位。对于传统监控解决方案而言,用户看到的依然是一个黑盒,用户无法真正了解系统的真正的运行状态。因此 Prometheus 鼓励用户监控所有的东西。


Four Golden Signals 是 Google 针对大量分布式监控的经验总结,4 个黄金指标可以在服务级别帮助衡量终端用户体验、服务中断、业务影响等层面的问题。主要关注与以下四种类型的指标:延迟,通讯量,错误以及饱和度


  • 延迟:服务请求所需时间。


记录用户所有请求所需的时间,重点是要区分成功请求的延迟时间和失败请求的延迟时间。 例如在数据库或者其他关键祸端服务异常触发 HTTP 500 的情况下,用户也可能会很快得到请求失败的响应内容,如果不加区分计算这些请求的延迟,可能导致计算结果与实际结果产生巨大的差异。除此以外,在微服务中通常提倡“快速失败”,开发人员需要特别注意这些延迟较大的错误,因为这些缓慢的错误会明显影响系统的性能,因此追踪这些错误的延迟也是非常重要的。


  • 通讯量:监控当前系统的流量,用于衡量服务的容量需求。


流量对于不同类型的系统而言可能代表不同的含义。例如,在 HTTP REST API 中, 流量通常是每秒 HTTP 请求数;


  • 错误:监控当前系统所有发生的错误请求,衡量当前系统错误发生的速率。


对于失败而言有些是显式的(比如, HTTP 500 错误),而有些是隐式(比如,HTTP 响应 200,但实际业务流程依然是失败的)。


对于一些显式的错误如 HTTP 500 可以通过在负载均衡器(如 Nginx)上进行捕获,而对于一些系统内部的异常,则可能需要直接从服务中添加钩子统计并进行获取。


  • 饱和度:衡量当前服务的饱和度。


主要强调最能影响服务状态的受限制的资源。 例如,如果系统主要受内存影响,那就主要关注系统的内存状态,如果系统主要受限与磁盘 I/O,那就主要观测磁盘 I/O 的状态。因为通常情况下,当这些资源达到饱和后,服务的性能会明显下降。同时还可以利用饱和度对系统做出预测,比如,“磁盘是否可能在 4 个小时候就满了”。


spring cloud 微服务的 4 个黄金指标


QPS


sum(rate(http_server_requests_seconds_count{application="$application", instance="$instance"}[1m]))
复制代码


错误数


统计状态码 5xx


sum(rate(http_server_requests_seconds_count{application="$application", instance="$instance", status=~"5.."}[1m]))
复制代码


延迟 Duration


sum(rate(http_server_requests_seconds_sum{application="$application", instance="$instance", status!~"5.."}[1m]))/sum(rate(http_server_requests_seconds_count{application="$application", instance="$instance", status!~"5.."}[1m]))
复制代码


饱和度


从线程数进行监控 tomcat/jetty


// tomcat A: tomcat_threads_busy_threads{application="$application", instance="$instance"} B: tomcat_threads_current_threads{application="$application", instance="$instance"} C: tomcat_threads_config_max_threads{application="$application", instance="$instance"} // jetty D: jetty_threads_busy{application="$application", instance="$instance"} E: jetty_threads_current{application="$application", instance="$instance"} F: jetty_threads_config_max{application="$application", instance="$instance"}
复制代码


监控图



用户头像

Rubble

关注

还未添加个人签名 2021.06.01 加入

还未添加个人简介

评论

发布
暂无评论
Prometheus监控的4个黄金指标