需求

grafana+elk+alertmanager实现微信报警到不同部门或不同告警人。

简介

grafana+alertmanager实现微信报警 这篇文章中详述了grafana+alertmanager的微信报警实现过程。

alertmanager默认情况下告警接收人为wechat,也就是默认对test1发送微信告警,没有将报警分类。

vim grafana.yml
global:resolve_timeout: 5mtemplates:
- '/usr/local/alertmanager/wechat.tmpl'route:group_by: ['alertname']group_wait: 5m#group_wait: 1m#同一组内警报,等待group_interval时间后,再继续等待repeat_interval时间group_interval: 10m#group_interval: 1m#当group_interval时间到后,再等待repeat_interval时间后,才进行报警repeat_interval: 1h#repeat_interval: 1mreceiver: 'wechat'
receivers:
- name: 'wechat'wechat_configs:- corp_id: 'wwbba179b20d372e'agent_id: '1000005'api_secret: '-CJ9QLEFxLzxt-NWYOLuy-RuX3I'to_user: 'test1'send_resolved: true

问题

此时,如果我们对elk的index分组,并发给不同的接收人,如:web、api,怎么实现?

1.先来看下grafana发送到alertmanager告警信息

alertname='xxx流量告警'
description='xxx每分钟访问量超过15000'
summary='xxx流量告警'
metric='Count'

我们可以通过访问alertmanager的web页面查看,如http://10.10.10.22:9093。

在alertmanager中,对alertname进行分组;description和summary是具体报警内容;而metric是标签,即label。

要想实现分组,alertmanager需要根据label进行设置子路由,通过匹配label发送给不同的接收人。

2.设置子路由

通过routes设置子路由,子路由中设置不同的接收人。

vim grafana.yml
global:resolve_timeout: 5mtemplates:
- '/usr/local/alertmanager/wechat.tmpl'route:group_by: ['alertname']group_wait: 5m#group_wait: 1m#同一组内警报,等待group_interval时间后,再继续等待repeat_interval时间group_interval: 10m#group_interval: 1m#当group_interval时间到后,再等待repeat_interval时间后,才进行报警repeat_interval: 1h#repeat_interval: 1mreceiver: 'wechat'#子路由routes:- receiver: 'wechat_web'match_re:department: 'web'- receiver: 'wechat_api'match_re:department: 'api'
receivers:
- name: 'wechat'wechat_configs:- corp_id: 'wwbba179b20d372e'agent_id: '1000005'api_secret: '-CJ9QLEFxLzxt-NWYOLuy-RuX3I'to_user: 'test1'send_resolved: true
- name: 'wechat_web'wechat_configs:- corp_id: 'wwbba179b20d372e'agent_id: '1000005'api_secret: '-CJ9QLEFxLzxt-NWYOLuy-RuX3I'to_user: 'test2'send_resolved: true
- name: 'wechat_api'wechat_configs:- corp_id: 'wwbba179b20d372e'agent_id: '1000005'api_secret: '-CJ9QLEFxLzxt-NWYOLuy-RuX3I'to_user: 'test3'send_resolved: true

3.amtool 调试

#触发web报警
./amtool --alertmanager.url=http://10.10.10.22:9093 alert add department=web alertname="xxx流量告警"        --annotation=description='xxx每分钟访问量超过15000'  --annotation=summary = "xxx流量告警"
#触发api报警
./amtool --alertmanager.url=http://10.10.10.22:9093 alert add department=api alertname="xxx流量告警"        --annotation=description='xxx每分钟访问量超过15000'  --annotation=summary = "xxx流量告警"

通过这种方式,我们可以在排除grafana的情况下,模拟测试alertmanager触发报警。

4.grafana设置label

由于我们使用的是grafana5.4 ,查看官方文档All supported notifiers
从上图看出报警通道为prometheus+alertmanager 是支持发送图片和报警标签(对应alertmanager中的label),但是是从6.3+开始。

也就是说grafana5.4 是不支持报警标签,因此无法设置label;因此我们需要将grafana升级到6.3以上。
升级过程需要测试,以免丢失数据。

两个版本的对比如下:

grafana-5.4 告警信息配置:

grafana-6.5 告警信息配置:

通过上图区别,可明显看出6.5 比 5.4 的多出了一个alert tag的功能,即对应alertmanger的label。如下:

使用grafana-5.4 默认展示一个label:metric
使用grafana-6.5 可以展示两个label:department和metric,而metric是用于elk的统计量;department是我们用于区分发送给不同部门和报警人的,alertmanger正式通过这个手动添加的label来匹配不同的子路由,发给不同的报警人。

grafana+alertmanager 微信报警发送给不同告警人相关推荐

  1. Prometheus AlertManager 微信报警配置

    Prometheus AlertManager 微信报警配置 alertmanager支持email,webhook等报警源支持,看到可以支持微信报警信息推送觉得有意思把玩一下,alertmanage ...

  2. linux上配置zabbix并设置企业微信,机器人以及自主告警

    linux上配置zabbix并设置企业微信,机器人以及自主告警 配置lamp 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 linux上配置zabbix并设置企业微信,机 ...

  3. linux告警 微信,使用alertmanager实现微信报警

    上篇介绍了prometheus结合grafana的方式进行集群的监控,该组合可以实现很好监控效果,但是,如果设备出问题了,尤其是一些紧急问题,影响到业务,我们需要安排人员进行紧急处理,所以说及时知晓发 ...

  4. grafana+alertmanager实现微信报警

    一.需求 实现网站的流量监控,之前希望通过elk+python+zabbix实现微信报警,需要通过elk的dsl语句查询,实现起来比较麻烦. 由于grafana的多数据源特性,结合alertmanag ...

  5. prometheus 发送恢复 值_基于prometheus+grafana+alertmanager监控系统配置钉钉告警

    概述 因为目前工作基本都是用钉钉办公,所以今天主要介绍一下怎么在prometheus配置钉钉告警,这里的前提是已经部署了alertmanager. 一.配置go 由于Prometheus 是用gola ...

  6. 配置文件详解+AlertManager微信邮件告警配置

    文章目录 前言 AlertManager告警简单部署 一.AlertManager告警简介 1.简介 2.告警规则组成 1)告警名称 2)告警规则 3.Alertmanager特性 1)分组 2)抑制 ...

  7. Prometheus+Grafana+企业微信机器人告警

    Prometheus+Grafana+企业微信机器人告警 开源监控和报警系统 Prometheus+Grafana+企业微信机器人告警 Prometheus+Grafana+企业微信机器人告警 1.P ...

  8. prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知

    1.下载prometheus安装 ① 从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译 [root@loac ...

  9. 通过微信企业号发送zabbix报警

    采用微信报警时,管理员账户中必须要设置"示警媒体"一项,"收件人"一项可随便填写一下.其它成员则可以不用添加设置. ---------------------- ...

最新文章

  1. 很近没读书了,读书笔记之大道至简
  2. java用符号断开取前面_java-如何读取断开的符号链接指向的路径?
  3. android自定义数字键盘和字母键盘,Android自定义键盘的实现(数字键盘和字母键盘)...
  4. c# 多线程 执行事件 并发_C#.NET Thread多线程并发编程学习与常见面试题解析-1、Thread使用与控制基础...
  5. Silverlight 4 Beta正式发布
  6. 深度学习Pytorch--梯度与反向传播笔记
  7. 指定tensorflow运行的GPU或CPU设备
  8. Logistic混沌序列加密
  9. 010. 深入JVM学习—垃圾收集策略概览
  10. bs cs架构区别_一文了解微蜂窝、基站、宏蜂窝、直放站、BBU+RRU到底有什么区别...
  11. PDF怎么拆分?有哪些免费的PDF拆分软件
  12. 最佳牛栏(前缀和+二分)
  13. BMZ-MISC-可乐加冰
  14. xp mysql 5.6安装版下载地址_xp系统安装版下载,xp系统安装版下载地址
  15. [来自iPc.me] 技术文,绝对是牛叉的技术文!把妹高手谈如何跟刚搭讪
  16. calcite连接mysql_如何使用Calcite实现一个简单的数据库
  17. turtle绘制八边形、八角边形
  18. 【Git】push 分支报错 error: failed to push some refs to...
  19. 风影版OllyDBG 1.10 2016-12-09修改版
  20. 推荐几个帮你避坑和赚钱的公众号

热门文章

  1. 4.12.4nbsp;约翰bull;梅纳德bull;凯恩斯
  2. (面经总结)一篇文章带你完整复习 Java 中并发关键字(CountDownLatch/CyclicBarrier/Semaphore/Volatile)
  3. 股票及炒股票的基础知识
  4. 风速传感器的安装要求是什么?安装要注意这三点
  5. WEB简介:HTTP方法
  6. Linux上安装Matlab2020a
  7. cURL到Python/Aardio/易语言(将curl格式文本解析成Python、易语言、AardioGolang、VBA、PowerQuery、Json)20210811
  8. Get和Post请求参数格式
  9. 如何用BitLocker给移动硬盘,U盘加密
  10. Java枚举类型介绍