文章目录
- 一、介绍
- 二、配置 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