分布式监控系统Zabbix-3.0.3-完整安装记录-新报微信报警(企业微信)
一般来说,Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是现在越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。之前介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署,然而新版微信已取消了企业号,改用企业微信。使用微信号发短信一般会有条数限制,企业微信没有这个限制,而且成员分组也方便。比起之前的微信企业号,企业微信方式在zabbix报警设置上还是有一点不一样的。废话不多说了,下面简单记录下:
一、企业微信注册
地址:http://work.weixin.qq.com/ 注册步骤没有什么可说的,按照提示信息填入信息即可。如下,可以选择"没有营业执照,继续注册"
提示:这里简单的说一下,微信企业号和微信公众号是不一样的。具体按照新版本的注册信息进行即可,在此就不多做截图了~~~~~
二、配置微信企业号
当设置完微信号的信息之后,请继续下面操作。中间有些步骤不是特别全,省略掉了,就是设置企业的信息。可以参考分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署的一些设置。
添加成员时,注意账号一定要是唯一的。
要邀请同事加入该企业微信中
重点是添加应用。"企业应用"->"创建应用"
可以发现以前企业公众号的应用ID和组ID已经被取消
准备事项: -> 微信企业号 -> 企业号已经被部门成员关注 -> 企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息 -> 记录用户的账号(唯一ID) -> CorpID -> Secret、Agentld
三、Zabbix微信报警设置
设置zabbix默认脚本路径,这样在web端就可以获取到脚本
[root@zabbix ~]# cat /data/zabbix/etc/zabbix_server.conf|grep alertscripts
AlertScriptsPath=/data/zabbix/alertscripts
下载wechat脚本
下载地址:https://pan.baidu.com/s/1eS082J4
提取密码:kry2
[root@zabbix ~]# cd /data/zabbix/alertscripts/
[root@zabbix alertscripts]# chmod 755 wechat
[root@zabbix alertscripts]# chown zabbix:zabbix wechat
测试
[root@zabbix alertscripts]# ./wechat --corpid=****** --corpsecret=****** --msg="您好,告警测试" --user=****** --agentid=******
{"errcode":0,"errmsg":"ok","invaliduser":""}
[root@zabbix alertscripts]#
提示:
--corpid= 我们企业里面的id
--corpsecret= 这里就是我们Secret里面的id
-msg= 内容
-user=邀请用户的账号
因为wechat脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看
登录微信查看
四、zabbix web 界面配置
添加"报警媒介"
两个变量,一个是发送给哪些用户,一个是发送的内容: --user={ALERT.SENDTO} --msg={ALERT.MESSAGE}
添加"用户的报警媒介",这里选择admin用户
添加报警触发的"动作"
默认收件人:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
然后进行测试:关闭备份机的zabbix_agent,即关闭10050端口。过一会儿观察微信的报警信息:
重新开启备份机的zabbix_agent,同样会受到报警恢复的信息。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ANDROID BottomNavigationBar底部导航栏的实现示例
- Android实现时间倒计时功能
- Android开发基于Drawable实现圆角矩形的方法
- Android开发中滑动分页功能实例详解
- Android登录注册功能 数据库SQLite验证
- CMQ消费者报错,无法获取本机ip地址问题排查
- 腾讯云TKE-Metrics-Server案例: TKE中自建Metrics-Server问题
- (建议收藏)关于JS事件循环, 这一篇就够啦
- TensorFlow2 开发指南 | 02 回归问题之汽车燃油效率预测
- 腾讯云TKE-Ingress案例: TKE-Ingress与Nginx-Ingress共存
- 玩转Kotlin 彻底弄懂Lambda和高阶函数
- leetcode之仅仅反转字母
- 3分钟短文:Laravel的“南天门”,过滤掉七七八八的数据
- 【1024,Serverless】maimai_DX 查分器
- TRTC/MLVB/IM案例:SDK用户日志提取与管理的一种实现方案