告警信息的传递方式

2018-10-26  本文已影响329人  elef

IT系统在运维阶段,告警信息是否能够及时通知到运维管理人员是非常重要的。
一般的告警事件能够通过邮件、短信方式进行报警通知运维管理人员,但是如果没有专业的监控预警系统,传递告警信息并不是太简单的事情。
维护系统时经常会出现两种情况:

  1. 软件故障,越复杂的软件越会出问题,涉及系统间对接问题尤其多。
  2. 硬件故障,网络不通、服务器当机等

由于系统问题出现的原因不同,很多时候也只能“头痛医头脚痛医脚”。
如果是应用处理过程中出现异常,比如用户输入、或系统预置信息异常造成
业务中断,这个业务还很重要,异常处理时不仅记录详细错误日志,还使用短信、邮件的方式通知运维人员。
如果服务器断电断网,通常都是通过一些网站云监测察觉,然后短信、邮件的方式通知运维人员。
还有一些异常,只是记录异常,并不及时通知运维。

如果应用少还好说,固定通知一个人就好,如果太多了,通知谁有时都可能是个问题。

今天看Github的监控方案时,发现老外还是挺倾向于使用Slack的,通过Webhook的方式将告警信息发到Slack平台,实质上就是通过HTTP方式,将告警信息POST到一个接收服务中。这个接收地址对应了Slack中的用户频道(Channel),订阅了这个频道的用户都能得到通知。也就是说Slack就是个发布订阅系统,可以聚合很多数据源,比如(github、微博、和一些自定义的渠道)。

在应用中配置slack参数

route:
    receiver: 'slack'

receivers:
    - name: 'slack'
      slack_configs:
          - send_resolved: true
            text: "{{ .CommonAnnotations.description }}"
            username: 'Prometheus'
            channel: '#<channel>'
            api_url: 'https://hooks.slack.com/services/<webhook-id>'

在slack客户端获得告警通知


slack_proc.jpg

通过分离这个告警系统中的每个环节实现整体的灵活:

告警信息报出(系统异常转化成告警) =》
告警信息传递(告警信息发送到订阅平台) =》
告警信息传输给人 (告警信息通知到人)

上一篇 下一篇

猜你喜欢

热点阅读