今天继续给大家介绍Linux运维相关知识,本文主要内容是elastalert告警优化。
在上文ELK详解(二十二)——Elastalert报警配置实战中,我们介绍了使用Elastalert对Elastics进行日志监控并告警的配置,今天,我们来介绍一下使用Elastalert报警进行优化。
一、避免重复告警
尽管Elastalert的报警方便了运维人员的工作,但是,过于频繁的告警却会使得我们的邮箱接收过多的邮件,也不利于我们工作的开展。因此,我们通常设置避免重复告警,该设置应该在rule规则配置中添加如下内容:
realert:
minutes: 5
exponential_realert:
hours: 1
在上述配置中,realert指定了5分钟内不会重复告警,exponential_reaert则指定了报警时间以指数的形式递增,并且最大时长为1小时。如果发生频繁告警,则告警不重复时间会由5分钟——10分钟——20分钟——40分钟——60分钟逐步递增,当没有告警时,又会恢复原来的时间。
二、聚合相同告警
除了设置避免重复告警外,我们还通常设置聚合相同的告警,此时rule规则应该配置如下:
aggregation_key: Name
summary_table_fields:
- name
- message
在上述配置中,我们设置了根据报警的内容将相同的报警按照Name来进行聚合,并且聚合后的报警只显示名称和信息。
三、告警内容格式化
最后,我们还可以对告警的内容进行个性化定制。一个典型的配置如下所示:
alert_text_type: alert_text_only
alert_text: |
### Error frequency exceeds
> Name: {}
> Message: {}
> Host: {} ({})
alert_text_args:
- name
- message
- hostname
- host
在上述配置中,alert_text参数定义了告警的内容,注意到该参数内部有四对花括号,花括号将会由alert_text_args中的四个变量进行替代。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200