为Zabbix增加企业微信告警
一、企业微信
1. 注册企业微信,记下企业ID
2. 在企业微信中创建应用Zabbix,设置“可见范围”为需要接收消息的员工或分组,记下应用的AgentId和Secret
3. 记下需要接受消息的用户帐号
二、运行环境和脚本设置
1. 安装Python2.7
2. 安装Python库requests
安装方法1
pip install requests
pip install --upgrade requests
安装方法2
wget https://pypi.python.org/packages/c3/38/d95ddb6cc8558930600be088e174a2152261a1e0708a18bf91b5b8c90b22/requests-2.18.3.tar.gz
tar zxvf requests-2.18.3.tar.gz
cd requests-2.18.3
python setup.py build
python setup.py install
3. 修改Zabbix服务端配置文件zabbix_server.conf,设置脚本文件路径AlertScriptsPath=
,修改完重启Zabbix服务端
4. 下载脚本wechat.py
,设置权限755
脚本来源
https://github.com/X-Mars/Zabbix-Alert-WeChat
5. 修改脚本文件
#在脚本最下方
Corpid = #企业ID
Secret = #Secret
Agentid = #AgentId
三、Zabbix后台设置
1. 添加报警媒介类型
名称:企业微信
类型:脚本
脚本名称:wechat.py
参数(3个,依次添加)
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2. 用户报警媒介
添加报警媒介:企业微信
收件人:企业微信中的用户帐号
3. 配置动作
检查是否设置为发送消息通过“所有介质”或者添加发送到“企业微信”
测试
1. 手动测试,运行脚本wechat.py
./wechat.py #收件人帐号# #标题# #内容#
2. 触发告警,查看企业微信中是否收到消息
PS:最新版的脚本,在Python3运行报错,需要将以下两行代码注释
reload(sys)
sys.setdefaultencoding('utf-8')