Prometheus 的监控方法论

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
简介: 【1月更文挑战第24天】

许多监控框架的重点都是故障检测,即检测是否发生了特定的系统事件或处于什么状态(这是Nagios的风格)。当收到有关特定系统事件的通知时,我们通常会查看收集到的任何指标,以找出发生的确切情况及其原因。在这个思路下,指标被视为故障检测的副产品或者补充。


正确使用指标可以提供基础设施的动态实时信息,帮助你管理和做出有关系统的最佳决策。此外,通过异常检测和模式分析,指标有可能在故障或问题发生之前,或者是在特定系统事件导致系统瘫痪之前就有所察觉。


我们通常以固定的时间间隔收集数据,该时间间隔被称为颗粒度(granularity)或分辨率(resolution),取值可以从1秒到5分钟,甚至到60分钟或更长。正确地选择指标的颗粒度至关重要,若选择得太粗糙,则很容易错过某些细节。


第一种指标类型是测量型(gauge),这种类型是上下增减的数字,本质上是特定度量的快照。常见的监控指标如CPU、内存和磁盘使用率等都属于这个类型。


第二种类型是计数型(counter),这种类型是随着时间增加而不会减少的数字。虽然它们永远不会减少,但有时可以将其重置为零并再次开始递增。应用程序和基础设施的计数型示例包括系统正常运行时间、设备收发包的字节数或登录次数。


第三种类型直方图(histogram)是对观察点进行采样的指标类型,可以展现数据集的频率分布。将数据分组在一起并以这样的方式显示,这个被称为“分箱”(binning)的过程可以直观地查看数值的相对大小。


USE是使用率(Utilization)、饱和度(Saturation)和错误(Error)的缩写,该方法是由Netflix的内核和性能工程师Brendan Gregg开发的。USE方法建议创建服务器分析清单,以便快速识别问题。


USE方法可以概括为:针对每个资源,检查使用率、饱和度和错误。该方法对于监控那些受高使用率或饱和度的性能问题影响的资源来说是最有效的


资源:系统的一个组件。在Gregg对模型的定义中,它是一个传统意义上的物理服务器组件,如CPU、磁盘等,但许多人也将软件资源包含在定义中。


使用率:资源忙于工作的平均时间。它通常用随时间变化的百分比表示。


饱和度:资源排队工作的指标,无法再处理额外的工作。通常用队列长度表示。


错误:资源错误事件的计数。


Google的四个黄金指标主要关注的不是系统级的时间序列数据,更多是针对应用程序或面向用户的部分


延迟:服务请求所花费的时间,需要区分成功请求和失败请求。例如,失败请求可能会以非常低的延迟返回错误结果。

流量:针对系统,例如,每秒HTTP请求数,或者数据库系统的事务。


错误:请求失败的速率,要么是HTTP 500错误等显式失败,要么是返回错误内容或无效内容等隐式失败,或者基于策略原因导致的失败——例如,强制要求响应时间超过30ms的请求视为错误。


饱和度:应用程序有多“满”,或者受限的资源,如内存或IO。这还包括即将饱和的部分,例如正在快速填充的磁盘。


要建立一个出色的通知系统,需要考虑以下基础信息:

  1. 哪些问题需要通知
  2. 谁需要被告知
  3. 如何告知他们
  4. 多久告知他们一次
  5. 何时停止告知以及何时升级到其他人
相关文章
|
4月前
|
Prometheus 监控 Cloud Native
云原生监控实战:Prometheus+Grafana快速搭建指南
云原生监控实战:Prometheus+Grafana快速搭建指南
|
4月前
|
存储 Prometheus 监控
OSS监控体系搭建:Prometheus+Grafana实时监控流量、错误码、存储量(开源方案替代云监控自定义视图)
本方案基于Prometheus构建OSS监控系统,涵盖架构设计、指标采集、可视化、告警及性能优化,助力企业实现高可用、低成本的自建监控体系。
423 1
|
5月前
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
405 79
|
4月前
|
存储 监控 Cloud Native
云原生监控实战:Prometheus+Grafana打造RDS多维度预警体系
本方案构建了基于Prometheus与Thanos的云原生RDS监控体系,涵盖数据采集、存储、可视化与告警全流程。支持10万+QPS采集、90%存储压缩,具备<30秒告警延迟能力。通过自定义指标与智能预警策略,显著提升故障发现效率,实现分钟级响应。
327 5
|
4月前
|
Prometheus 监控 Cloud Native
|
3月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
|
11月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
981 3
|
7月前
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
326 22
|
10月前
|
存储 数据采集 Prometheus
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
513 20
|
10月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
804 7