1、概述
Pormetheus作为一款免费的第三方监控工具,在通用性及自定义报警项的使用上,都具有非常出色的表现。在大多数的告警配置示例中,阐述了如何添加自定义告警项,如在已有告警的基础上,通过shell脚本增加监控项,完善监控配置。
文章可供参考:
Node_Exporter 自定义监控指标
但是在实际使用上,经常会发现有一些场景需要在现有告警配置的基础上,做一些减法,排除一些非必要的监控,比如文件系统空间使用率的监控上,经常会有一些系统文件目录会保持一个很高的使用率上,但是不会经常性的改动,如/boot等,当类似的文件系统使用率达到了90%,频繁触发报警,我们该如何处理呢?
文中将以上图中的/boot文件目录添加到磁盘空间剩余率告警例外项作为示例,阐述通过修改告警规则,达到为监控规则配置例外的目的。
本文主要针对如我一类的监控小白,目的在于抛砖引玉,望大佬们轻喷~
2、版本信息
Prometheus:2.31.1
3、查询告警规则
在配置之前,需要了解Prometheus规则的定义:
3.1 Prometheus规则:
规则是预先定义的一组来完成复杂工作的表达式的合集。规则以 YAML 格式书写。规则文件存放在Prometheus配置文件定义的目录下。
本文存放于./rule目录下:
Prometheus规则主要分为以下两种:
3.1.1 记录规则:(Recoding Rule)
记录规则允许预先计算经常使用或计算成本高的表达式,并将其结果保存为一组新的序列。
详细阐述:
RECORDING RULES
3.1.2 告警规则:(Alert Rule)
告警规则与记录规则非常相似,编写起来更加多样化。比起 recording rules 多了几条必要的标签,分别是告警等级以及注解。注解又分为 摘要(summary)和 描述(description)。
详细阐述:
ALERTING RULES
一般情况下,我们从ALTER RULE入手操作,修改Alter Rules规则中的expr字段,达到定向筛选的目的,从而实现对告警项的删减定制。
修改告警规则
1、告警规则有一张比较简单的方法进行排查,登录到prometheus图形化界面上,选择alert页面下的某项告警,可以查询到具体的告警规则描述:
2、双击告警规则描述,显示如下,其中红框部分就是Prometheus定义的指标,蓝下划线部分是操作符:
告警指标
相关操作符
3、将红框中的部分单独拿出来执行,可以看到所有符合指标定义的服务器列表:
4、通过修改上图蓝框中的筛选项,我们可以很方便的筛选出适配的服务器。筛选项支持模糊联想,支持简单的正则适配:
选项联想
操作符联想
筛选挂载方式为ext4或者xfs,并且挂载点为/boot的所有服务器
5、通过反选以上步骤,我们可以得出所有所有非挂载点为/boot服务器,之后我们只需要修改告警规则,只关注所有挂载点不是/boot的服务器,就可以实现添加告警例外项的目的:
6、通过修改rule.yaml文件,修改报警规则:
7、重启prometheus进程,可以发现/boot相关空间告警已消失:
结论
本文着重介绍通过配置监控规则,为告警规则添加例外项。除此之外Prometheus还提供了丰富的兼容性和可编辑性,在监控方面有兴趣的小伙伴们,可以通过下面的网址深入了解学习Prometheus。
Prometheus官网