一:zabbix部署企业微信报警
1.创建企业微信群聊
添加机器人,将机器人的webhook复制保存下来。
2.zabbix服务端配置
#修改zabbix配置文件
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
#进入脚本目录创建脚本
cd /usr/lib/zabbix/alertscripts/
vim wechat.py
内容如下:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = " https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=......" #机器人webhook地址
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
3.添加脚本权限并测试
chmod +x /usr/lib/zabbix/alertscripts/wechat.py
python wechat.py ceshi
#注意:centos默认python2.7 可以使用python2.7命令
如果报错包含Requests内容,则需要安装该模块:
第一种方式:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
#若报错提示有新版pip则替换该连接即可
python get-pip.py
pip -V 验证并安装模块 pip install requests
第二种方式:
安装epel扩展源:yum install epel-release
安装python-pip:sudo yum install python-pip
升级pip:sudo pip install --upgrade pip
安装requests包:sudo pip install requests
4.测试成功后创建报警媒介
#zabbix服务端web
管理---报警媒介类型---创建媒体类型
名称:wechat 类型:脚本 脚本名称:wechat.py 脚本参数:{ALERT.MESSAGE}
创建完成后测试效果,收件人随便写。
5.添加告警推送内容
管理---报警媒介类型---wechat---Message templates---添加两条模板
type:问题 消息如下:
-=【监控告警】=-
告警主机:{HOSTNAME1}
主机名称:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
type:Problem recovery 消息如下:
-=【告警恢复】=-
恢复主机:{HOSTNAME1}
主机名称:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
6.添加动作
配置---动作---创建动作
动作:名字随意 触发器示警度-按需求选择 添加
操作:添加两条操作
操作:发送消息 用户选Admin(zabbix管理员) 仅送到---wechat 其他默认
恢复操作:发送消息 用户选Admin(zabbix管理员) 仅送到---wechat
7.启动媒体报警用户
管理---用户---Admin---报警媒介:
类型:wechat
收件人:随便写
当启用时:默认
下面根据需求选择,更新后即可测试结果。
二:zabbix部署钉钉报警
和企业微信相同,换一下机器人的webhook即可。
!!完!!