Prometheus-Rules(规则)

文章目录

  • 一、介绍
  • 二、配置 Prometheus 使用规则文件
  • 三、 规则文件语法
    • 规则文件语法
      • 全局
      • Recording rules(记录规则)
    • 2 Alerting rules(警报规则)
    • 3 模板化如何使用
  • 四、检查规则文件语法
  • 五、发送警报通知

一、介绍

Prometheus规则是一种逻辑表达式,可用于定义有关监控数据的逻辑关系和约束条件。这些规则可以用于告警条件、聚合和转换等。

普罗米修斯支持两种类型的规则,可以对其进行配置,然后定期进行评估:recording rules and alerting rules。

要在 Prometheus 中使用规则,请创建一个包含所需规则语句的文件,并让Prometheus 通过 Prometheus 配置中的 rule_files 字段加载该文件。规则文件使用YAML 格式。

Alerting规则:在满足某些条件时触发警报,例如CPU使用率超过90%。

Recording规则:使用PromQL表达式进行聚合和转换,将结果记录下来。例如计算平均响应时间。可以作为性能指标的跟踪,以便找到规律优化服务。

通过使用这些规则,您可以轻松地监控和管理您的应用程序和基础设施,并及时发现并解决任何问题。

二、配置 Prometheus 使用规则文件

需要在 Prometheus 的配置文件中的 rule_files 字段下添加配置,rule_files 字段的值是一个包含多个规则文件路径的列表,规则文件路径支撑通配符。示例如下:

prometheus.yml

...

rule_files:
  - "prometheus.rules.yml"  # 指定具体文件
  - "rules/*.yml"  # 指定 rules 目录下的所有以 .yml 结尾的文件

三、 规则文件语法

记录和警报规则存在于规则组中。组中的规则以固定的时间间隔按顺序运行,评估时间相同。
记录规则的名称必须是有效的度量值名称。警报规则的名称必须是有效的标签值。
记录规则名称需要符合正则表达式: [a-zA-Z_:][a-zA-Z0-9_:]*
警报规则名称需要符合正则表达式:[a-zA-Z_][a-zA-Z0-9_]*__(两个“_”)开头的标签名称保留供内部使用

规则文件语法

全局

groups:
  #  一个规则组的名称,在当前文件中需唯一。
  - name: example
    

你可能感兴趣的:(Prometheus,prometheus,javascript,前端)