基于Prometheus的全方位监控平台--企业中需要哪些告警Rules

一、前言

Prometheus中的告警规则允许你其于PromQL表达式定义告警触发条件,Prometheus后端对这些触发规则进行周期性计算,当满足触发条件后则会触发告警通知。

在企业中,为了确保业务的稳定性和可靠性,Prometheus告警规则非常重要。以下是需要考虑的几个维度:

1.业务维度:在企业中,不同的业务拥有不同的指标和告警规则。例如,对于ToC平台,需要监控订单量、库存、支付成功率等指标,以确保业务的正常运行

2环境维度,企业中通常会有多个环境,例如开发、测过、预生产和生产环境,由于每个环境的特点不同,因此需要为每个环境制定不同的告警规则。

3应用程序维度不回的应用印席拥有不图的指据和告整规则,例如,在监控Wb应用明席时,需要监控HTTP请求失败率、响应时间和内存使用情况等指标

4,基础设施维度:企业中的其础设施包括服务、网络设备和存储设备等,在监控基础设施时,需要监控CPU便用率、磁盘空间和网络带宽等指标,

二、定义告警规则

一条典型的告警规则如下所示:

企业中需要哪些告警Rules_k8s

在告整规则文件中,我们可以将一组相关的规则设置定义在一个group下。

在每一个group中我们可以定义多个告警规则(rule)。一条告警规则主要由以下几部分组成:

alert;告警规则的名称。

expr: 基于PromQL表达式告警触发条件,用于计算是否有时间序列满足该条件

for:评估等待时间,可选参数,用于表示只有当触发条件持续一段时间后才发送告警。在等待期间新产生告警的状态为pending.

labels: 自定义标签,允许用户指定要附加到告警上的一组附加标签。

annotations:用于指定一组加信息,比用于描述告警详细信息的文字等,annotations的内容在告警产生时会一周作为参数发送到Alertmanager.

三、企业中的告警rules

结合公司的业务场景染考: Awesome Prometheus alerts1Collection ofalertingrules ( samber.althub.io)

3.1、Node.rules

企业中需要哪些告警Rules_Prometheus_02

企业中需要哪些告警Rules_Prometheus_03

3.2、prometheus.rules(本身)

企业中需要哪些告警Rules_Prometheus_04

企业中需要哪些告警Rules_Prometheus_05

3.3、website.rules

企业中需要哪些告警Rules_Prometheus_06

3.4、pod.rules(采集过来的数据告警及展示)

企业中需要哪些告警Rules_Prometheus_07

3.5、volume.rules (pv pvs存储状态监控)

3.6、proces5.rules

企业中需要哪些告警Rules_Prometheus_08

四、总结

本节课主要探讨了 Prometheus 中不同维度的规则定义,总结如下:

1.Prometheus 规则是一种基于 PromQL 表达式的告警和记录生成机制,可以通过对 指标的计算和聚合 来产生新的时间序列。

2.通过定义 不同维度 的规则,可以让 Prometheus 对 不同层次 和细节的 标 进行监控和告警,从而更好地了解应用和序的状态和性能状况

3.为了实现简单而有效的 告警策略,根据哪些指标来触发告警?避免过度告警和噪声干扰,提高监控和告警的 可靠性和 准确性。