kthxbye一种解决prometheus alertmanager 报警确认的守护进程

一些问题

当前,在Alertmanager中触发新警报时,有两种选择:

  • 解决警报时,使其处于活动状态
  • 使此警报静音一段时间

这在小型环境中效果很好,但可能会导致大型团队出现问题:

  • 如果您将警报保持处于活动状态,则需要以某种方式传达您正在处理它的信息,否则团队中的其他人也可能会开始处理它,或者(更糟糕的是)假设其他人已经在工作,则没人会对此进行处理。
  • 如果您使此警报静音,则需要选择正确的持续时间。如果持续时间太短,则您可能需要在其过期后再次使其静默,这对于许多Alertmanager用户而言可能是嘈杂的。如果持续时间太长,您需要记住在问题解决后将其过期,否则它可能会掩盖其他问题或问题很快再次发生。
    有一些可以更好地管理警报所有权的工具,例如PagerDuty或Opsgenie,可以帮助避免此问题,但是它们需要将所有警报发送到外部系统

原理

kthxbye是一种基于sidecar 模式的

  • 运行原理:
 
kthxbye将持续扩展将要到期但与触发警报匹配的静音。仅当沉默与任何警报都不匹配时,它们才会被允许过期。
- 新警报开始在Alertmanager中触发
- 用户使用带有预定义前缀和短持续时间的注释为其创建沉默
- kthxbye将不断轮询Alertmanager的警报和静音:
  - 获取所有沉默列表
  - 获取所有静音警报的列表
  - 查找所有以预定义前缀开头且即将过期的沉默
  - 对于每一个这样的沉默:
    - 检查静音是否与任何当前触发的警报匹配
    - 如果是,则沉默持续时间将延长
    - 如果没有,那么沉默将被终止
这样可以使警报静音,而不必担心为沉默选择正确的持续时间,因此您可以有效地使特定的故障行为静音而不是警报

运行命令

kthxbye -alertmanager.uri http://alertmanager.example.com:9093

说明

kthxbye 的作者同时也是karma的作者,都是很不错的prometheus Alertmanager 相关的工具

参考资料

https://github.com/prymitive/kthxbye

posted on   荣锋亮  阅读(653)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-05-13 gitbase cube.js schema 文件项目
2014-05-13 oracle 获取星期日期
2014-05-13 oracle 查某一列有重复值的记录

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示