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/