发送告警实践

情境

  • 组里同事开发了alert-speaker作为webhook给alertmanager调用,解决报警接收人的问题。
  • k8s的事件告警、日志告警也需类似的webhook,经深入挖掘发现zabbix,云厂商三方也需要类似的服务
  • 之前的zabbix基础告警都统一发送SRE,但有资源是业务方自维护的,导致告警发送人不够准确

任务

  • 建立统一告警webhook服务;
  • 实现报警的精准发送;
  • 落地日志告警;

行动

  • 扩展alert-speaker系统以提供:统一webhook接口(整合所有告警渠道) 对接云平台、cmdb系统提升报警准确度、对接日志系统实现日志分析告警。

结果

  1. 整合alertmanager,zabbix,apm、三方厂商监控等统一使用alert-speaker。
  2. 利用所有告警渠道接口(电话,邮件,企业微信等)给上述报警使用
  3. 提供精准发送辅助功能,协助查询相关资源实现无论是应用程序、Nginx异常状态码、exception日志、APM反馈GC异常都可发送到对应的团队维护人。
  4. 基于graylog接口实现日志监控、并支持对不同字段的topn频次分析,再将告警发给故障中的高比例责任人。
  5. 提供额外的分析报表,可知告警频次最高的应用、团队、异常原因top5等。
  6. 供额外的基本降噪,同一主题电话级别告警在5分钟内不会多次发给同一用户。