基于Prometheus的全方位监控平台--企业中需要哪些告警Rules
一、前言
Prometheus中的告警规则允许你其于PromQL表达式定义告警触发条件,Prometheus后端对这些触发规则进行周期性计算,当满足触发条件后则会触发告警通知。
在企业中,为了确保业务的稳定性和可靠性,Prometheus告警规则非常重要。以下是需要考虑的几个维度:
1.业务维度:在企业中,不同的业务拥有不同的指标和告警规则。例如,对于ToC平台,需要监控订单量、库存、支付成功率等指标,以确保业务的正常运行
2环境维度,企业中通常会有多个环境,例如开发、测过、预生产和生产环境,由于每个环境的特点不同,因此需要为每个环境制定不同的告警规则。
3应用程序维度不回的应用印席拥有不图的指据和告整规则,例如,在监控Wb应用明席时,需要监控HTTP请求失败率、响应时间和内存使用情况等指标
4,基础设施维度:企业中的其础设施包括服务、网络设备和存储设备等,在监控基础设施时,需要监控CPU便用率、磁盘空间和网络带宽等指标,
二、定义告警规则
一条典型的告警规则如下所示:
在告整规则文件中,我们可以将一组相关的规则设置定义在一个group下。
在每一个group中我们可以定义多个告警规则(rule)。一条告警规则主要由以下几部分组成:
alert;告警规则的名称。
expr: 基于PromQL表达式告警触发条件,用于计算是否有时间序列满足该条件
for:评估等待时间,可选参数,用于表示只有当触发条件持续一段时间后才发送告警。在等待期间新产生告警的状态为pending.
labels: 自定义标签,允许用户指定要附加到告警上的一组附加标签。
annotations:用于指定一组加信息,比用于描述告警详细信息的文字等,annotations的内容在告警产生时会一周作为参数发送到Alertmanager.
三、企业中的告警rules
结合公司的业务场景染考: Awesome Prometheus alerts1Collection ofalertingrules (samber.althub.io)
3.1、Node.rules
3.2、prometheus.rules(本身)
3.3、website.rules
3.4、pod.rules(采集过来的数据告警及展示)
3.5、volume.rules (pv pvs存储状态监控)
3.6、proces5.rules
四、总结
本节课主要探讨了 Prometheus 中不同维度的规则定义,总结如下:
1.Prometheus 规则是一种基于 PromQL 表达式的告警和记录生成机制,可以通过对 指标的计算和聚合 来产生新的时间序列。
2.通过定义 不同维度 的规则,可以让 Prometheus 对 不同层次 和细节的 标 进行监控和告警,从而更好地了解应用和序的状态和性能状况
3.为了实现简单而有效的 告警策略,根据哪些指标来触发告警?避免过度告警和噪声干扰,提高监控和告警的 可靠性和 准确性。