网络报警中心-110报警服务-网络报警平台-网上110报警咨询|110警察咨询网络报警中心-110报警服务-网络报警平台-网上110报警咨询|110警察咨询

欢迎光临
我们一直在努力

小团队从0搭建devOPS平台-Alert ** nager报警平台

  上一篇(https:// ** .jianshu.com/p/b15217e8f24f )文章简单介绍了监控神器prometheus的安装、配置、可视化等的使用。这篇我们来讲讲报警。

  我们先简单回顾下prometheus的功能和原理。

  从上图可以看出通过各种exporter采集数据后,prometheus把各种metrics(指标)统一pull到时间序列数据库中后,我们可以在可视化平台比如grafana显示后,如果有某些指标有异常可以把异常信息push推送给 alert ** nager报警平台,报警平台进行处理后notify通知给指定的通道和指定的人。

  这时候该Alert ** nager报警平台登场了。

  报警在Prometheus的架构中被划分成两个独立的部分。如下图,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性的对告警规则进行计算,如果满足告警触发条件就会向Alert ** nager推送报警信息。

  Alert ** nager作为一个独立的组件,负责接收并处理来自Prometheus Server,当然也可以是其它的客户端程序的告警信息。Alert ** nager可以对这些告警信息进行进一步的处理,比如当接收到大量重复告警时能够消除重复的告警信息,同时对告警信息进行分组并且分发到通知通道。Alert ** nager几个通道:

  当然Alert ** nager不可能集成所有的通道,但是通过Webhook可以二次开发以支持更多定制化的场景。 例如,目前Alert ** nager还不支持钉钉,那用户完全可以通过Webhook与钉钉机器人进行集成,从而通过钉钉接收告警信息。 已经有好人心实现了钉钉的webhook: 贴心的提供了报警分组去重、静默和告警抑制机制来对告警通知行为进行优化,比如升级系统需要两个小时,那么这两个小时就不需要对该系统的下线进行烦人的报警了,这个时候在AlertManager的WebUI上可以对该报警进行静默。下面对Alert ** nager特性进行更细致的介绍。

  在某些情况下,比如由于系统宕机导致大量的告警被同时触发,在这种情况下分组机制可以将这些被触发的告警合并为一个告警通知,避免一次性接受大量的告警通知。

  Inhibition字面上翻译是:抑制,但是从意思来讲:收敛这个词会更好(但是收敛其实已经包含了前面讲的分组和去重)。

  Inhibition是指当某一告警发出后,可以停止重复发送由此告警引发的其它告警的机制。

  例如,当集群不可访问时触发了一次告警,通过配置Alert ** nager可以忽略与该集群有关的其它所有告警。这样可以避免接收到大量与实际问题无关的告警通知。

  静默提供了一个简单的机制可以快速根据标签对告警进行静默处理。如果接收到的告警符合静默的配置,Alert ** nager则不会发送告警通知。例如上面提到的系统升级场景。

  假设系统发生故障产生告警,每分钟发送一条告警消息,这样的告警信息十分令人崩溃。当然贴心的prometheus也为你想到了。Alert ** nager提供第一个参数是repeat_interval,可以将重复的告警以更大频率发送。 不过对于告警延,需要和两个参数配合起来使用

  啰嗦了这么多,相信你已经迫不及待要开始安装试用了。那我们开始吧。

  Alert ** nager最新版本的下载地址可以从Prometheus官方网站获取。 下载完成后,执行tar命令解压即可

  Alert ** nager解压后会包含一个默认的alert ** nager.yml配置文件,修改内容:

  简单对上面的配置做下解释 Alert ** nager的配置主要包含两个部分:

  由于golang的特性,启动Alert ** nager很简单。进行刚刚解压后的文件夹中,执行

  前面的架构图中已经说明,Alert ** nager是独立的组件,告警信息通过Prometheus Server 推送过来。所以需要做Prometheus Server中配置关联以及告警规则。当然也很简单。 编辑Prometheus配置文件prometheus.yml,并添加以下内容:

  例如,vi /etc/prometheus/rules/load_over1.rules.yml,添加一个load1超过3就告警的规则

  笔者按照上面的配置收到的报警示例如下(钉钉的webhook请查看github安装指引) 1,邮件报警

  2,钉钉报警

  当故障发生时,能够即时获取到异常结果我们要用监控系统的最主要的目的之一。通过Prometheus提供的告警以及告警处理能力,通过内置的告警通知能力,能过帮助用户快速实现告警的通知。同时其还提供了简单有效的扩展方式,让用户可以基于Prometheus的告警处理模式实现更多的定制化需求。

  当然笔者这篇文章写的比较简单,还有很多高级特性没有介绍,比如模板等,期待聪明的你自行更深入去理解吧。

未经允许不得转载:网络报警中心-110报警服务-网络报警平台-网上110报警咨询|110警察咨询 » 小团队从0搭建devOPS平台-Alert ** nager报警平台
分享到: 更多 (0)

网络警察报警-110报警服务台-网络报警平台中心网上110报警

联系我们