Alert 自动诊断系统的设计
💡
原文中文,约7400字,阅读约需18分钟。
📝
内容提要
在运维系统中,Alert光发出来是不够的,每一个Alert都需要处理和解决。设计的监控系统包括Vmalert和Alertmanager,还有Mute和高级alert抑制低级alert的功能。Alert Reaction是一个补充开源监控系统的系统,负责处理Alert。最近,为了处理更复杂的Alert,设计了一个框架,当Alert Reaction系统收到Alert时,将其放入任务队列中。用户可以使用装饰器定义如何处理Alert的脚本。框架还解决了加载用户代码和区分不同诊断程序的问题。这个项目类似于之前在蚂蚁金服参与的一个项目,但存在许多困难和挑战。
🎯
关键要点
- 在运维系统中,Alert需要被处理和解决。
- 监控系统包括Vmalert、Alertmanager、Mute和高级alert抑制功能。
- Alert Reaction系统负责处理Alert,补充了开源监控系统的不足。
- Alert Reaction系统记录所有触发的Alert,并提供统计信息以优化Alert触发条件。
- 设计了一个框架,允许用户用代码定制Alert规则。
- 框架使用Redis作为任务队列,处理Alert的流程分为多个队列。
- 用户只需定义处理Alert的逻辑和目标,使用装饰器简化代码编写。
- 装饰器支持匹配Alert,但仅支持等值匹配,不支持正则表达式。
- 框架解决了用户代码加载和不同诊断程序区分的问题。
- 提供了调试功能,允许用户测试构造的Alert和线上Alert。
- 项目面临许多挑战,回忆起在蚂蚁金服参与的类似项目,感慨颇多。
🏷️
标签
➡️