zabbix 添加 微信、邮件 媒介详解
1:zabbix 添加 微信、邮件 媒介。
1.2:发送告警邮件
1:一次完整的监控流程可以简单描述为:
Host Groups (设备组) ->Hosts (设备) -> template (监控模板)->Applications (监控项组) ->Items (监控项) ->Triggers
(触发器)->Actions(告警动作)->Medias(告警方式)->User Groups(用户组)->Users(用户)
2: 告警动作:
实质:把触发器的报警信息发送给用户
用到的对象:用户 、触发器、发送的脚本
调用脚本传参:用户的邮箱、告警触发器名称、 告警触发器详细信息
3: 内部实现机制伪代码:
for user in users
call sendmail.py user.email , trigger_name , trigger_message
4:佐证:发送脚本打印的日志内容【向二个人发送】。
XXX@sina.com PROBLEM: Zabbix agent on Zabbix server is unreachable for 5 minutes {"hostName":"Zabbix server","triggerId":" .......
XXXX@162.com PROBLEM: Zabbix agent on Zabbix server is unreachable for 5 minutes {"hostName":"Zabbix server","triggerId":" .......
5:创建邮件告警发送配置步骤
1: 创建触发器或模板自带的
2: 创建发送python脚本
sendmail.txt
1:脚本放在: /usr/local/zabbix/alertscripts
2: 脚本所有者 :chown zabbix:zabbix sendmail.py
3: 配置告警发送类型
4: 创建用户组 用户
5: 创建action 【底层代码实现实质 是把 脚本 用户 触发器 “组装起来”,即 三个对象即3张表 建立关联】
1.2:发送告警微信
1:我们要准备这些东西:
1:一个微信企业号
2:企业号已经被部门成员关注【部门、成员】
3:企业号里有一个可以发消息的应用
4:一个授权管理员,可以使用该应用给成员发消息
详细配置文案:MY_Zabbix 微信报警配置文档.doc
2:我们要取到这些信息:
1:成员账号
2:组织部门ID
3:应用ID
4:CropID 【管理员公司id】
5:Secret 【管理员公司密钥】
注意【access_token 2分钟变更一次,所以要通过 4、5 动态获取; 只有获取access_token, 才可以调用 微信企业号发送消息接口,就像古代的过关文书一样,没有的话只能像关云长一样过关斩将了,也就是黑客攻击。 前三个参数是调用接口时发送消息文本时用到的,用人家手软,总的按照人家的规范来。】
3:微信发送脚本编写思路
a)将corpID、secret拼到取token URL中,获取access_token。
获取access_token的URL为:
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=id&corpsecret=secrect
b)将取得的access_token拼到发送消息URL中,发送消息。
发送消息的URL为:
https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=access_token
4:微信发送python脚本
sendwechat.txt 5:创建微信报警发送配置步骤
同上 邮件报警发送配置。
本文转载自:http://blog.itpub.net/30109892/viewspace-1815126/
最新文章
- C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。
- Go语言 模板的使用(二)
- jqGrid API 全
- LightOj_1274 Beating the Dataset
- 改错+GetMemory问题
- 判断字符串解析是JsonObject或者JsonArray
- 关于twitter的GIF变mp4的测试
- 饭卡------HDOJ杭电2546(还是01背包!!!!!!)
- 快学Scala-第五章 类
- 移动应用/APP的测试流程及方法
- eclipse导入SVN上的Maven多模块项目
- connection holder is null新增解决方案(2018-06-02)
- angularjs和ajax的结合使用 (三)
- kubernetes的安装方法
- JavaScript获取元素CSS计算后的样式
- 进程池的同步与异步用法Pool
- BFS求解迷宫的最短路径问题
- Linux中的Diff和Patch
- 怎么简单高效破解MyEclipse10、获取注册码
- LOJ.6281.数列分块入门5(分块 区间开方)
热门文章
- ImportError: No module named mysql 报错python引用mysql报错
- 使用pjsip传输已经编码的视频
- datagrid.celltips.js
- Java设计模式菜鸟系列(十)模板方法模式建模与实现
- 使用spring + ActiveMQ 总结
- ztree获取选中节点时不能进入可视区域出现BUG如何解决
- 在dropDownList中实现既能输入一个新值又能实现下拉选的代码
- python定义函数时的默认返回值
- Python+PyQt5:停靠组件QDockWidget的实现
- [转]这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)