Prometheus Alertmanager 警报规则设置
规则 设置 Prometheus 警报
2023-09-14 09:01:48 时间
监控Alertmanager
与Prometheus一样,Alertmanager暴露了自身的相关指标。让我们创建一个Prometheus作业来监控Alertmanager。
监控
Alertmanager
的
Prometheus
作业
这将从
http://localhost:9093/metrics
收集指标并抓取一系列以
alertmanager_
为前缀的时间序列数据。这些数据包括按状态分类的警报计数、按接收器分类的成功和失败通知的计数(例如,所有向email
接收器发送失败的通知)。它还包含Alertmanager
集群状态指标
添加警报规则
现在Alertmanager已经配置完成,让我们添加第一条警报规则。并使用up指标来创建一些基本的可用性警报。
与记录规则一样,警报规则在
Prometheus
服务器配置中加载的规则文件内也使用
YAML
语句定义。让我们在rules
目录中创建一个新文件
node_alerts.yml
,以保存节点警报规则。
你可以在同一文件中同时保存记录规则和警报规则,但为了功能清晰明确,建议将它们放在单独的文件中。
创建警报规则文件:
不需要单独将此文件添加到
prometheus.yml
配置文件中的
rule_files
块,可以使用
globbing
通配符加载该目录中以_rules.yml
或
_alerts.yml
结尾的所有文件
在
rule_files
块中添加
globbing
通配符:
可以看到,我们已经添加了一些配置,这些配置将使用正确的命名约定来加载所有文件。我们需要重新启动Prometheus
服务器,以加载这个新的警报规则文件。
添加第一条警报规则
让我们添加第一条规则:一个CPU警报规则。我们将创建一个警报, 如果我们创建的CPU查询(5分钟内的节点平均CPU使用率)在至少60分钟内超过80%,则会触发警报。现在让我们看看这条规则。
第一条警报规则:
与记录规则一样,警报规则也可以组合在一起。
我们已经指定了一个组名node_alerts,该组中的规则包含在rules块中。每个规则都有一个名称,在alert子句中指定,这里是HighNodeCPU。
在每个警报组中,警报名称都必须是唯一的。
我们还有触发警报的测试或表达式,这在
expr子句中指定。
我们附加一个简单的检查:该指标是否大于
80
(或者说是
80
%使用率)。
下一个子句
for
,控制在触发警报之前测试表达式必须为
true
的时间长度。在示例中,指标instance:node_cpu:avg_rate5m需要在触发警报之前的
60
分钟内大于
80
%。这限制了警报误报或是暂时状态的可能性。
最后,我们可以使用标签(
label
)和注解(
annotation
)来装饰警报。警报规则中时间序列上的所有标签都会转移到警报。labels
子句允许我们指定要附加到警报的其他标签,这里我们添加了一个值为warning的
severity
标签,很快我们就会看到如何使用这个标签
警报上的标签与警报的名称相结合,构成警报的标识。这与时间序列相同,其中指标名称和标签构成时间序列的标识。
annotations
子句允许我们指定展示更多信息的标签,如描述、运行手册的链接或处理警报的说
明。我们添加了一个名为
summary
的标签来描述警报,还添加了一个名为
console
的注解,它指向了展示节点指标的Grafana
仪表板。这是一个用注解提供上下文的很好的例子。
现在我们需要重新加载
Prometheus
以启用新的警报规则。 重新启动Prometheus
后,你将能够在
Prometheus Web
界面
http://localhost:9090/alerts
中看到新的警报
相关文章
- 【MySQL】数据库字符校对规则
- Python函数之计算规则图形的面积
- 数学之美:自然语言处理-从规则到统计
- 一道笔试题:给定编码规则,实现decode()方法
- 重新整理 .net core 周边阅读篇————AspNetCoreRateLimit 之规则[二]
- linux系统中RPM包的通用命名规则
- 七、线性规划 透视规则
- Linux文件(目录)命名规则
- Zuul默认路由规则
- XML 实体引用、注释、命名规则
- NLP:自然语言处理技术之NLP技术实践—自然语言/人类语言“计算机化”的简介、常用方法分类(基于规则/基于统计,离散式/分布式)之详细攻略
- XML 实体引用、注释、命名规则
- 【项目实战】自定义设置Sonar的规则,要求DevOps工具链SonarQube只扫描指定模块
- spring boot + thymeleaf +security自定义规则 的简单使用
- spring 定时任务的 执行时间设置规则
- 002-poi-excel-导出设置单元格数据校验规则、筛选功能
- Go语言自学系列 | golang标识符、关键字、命名规则
- Linux基础命令-setfacl设置文件ACL策略规则
- 质量小议21 -- 规则?
- 内网DMZ外网之间的访问规则——注意:一般DMZ不能访问内网,DMZ不能访问外网
- 第20讲:Python列表、元组、字符串使用自定义排序规则
- Iptables防火墙connlimit模块扩展匹配规则
- Altium Designer,设置一个器件或一个区域不做电气规则检查
- Aultim Designer 定位孔铺铜直连规则设置
- [SQL] SQLServer修改DB的collation, 解决排序字规则字符集问题