微信告警
一、准备
1、创建一个企业微信,要有企业id
2、创建一个应用
点击头像进入创建的应用
点击应用图标进入,确认有agentid和Secret
#Secret 要在企业微信中查看
个人微信与企业微信互通消息
防止消息只发送到企业微信,个人收不到。
我的企业–微信插件–扫一扫关注。
二、Server端配置
[toot@server~]#vi weixin.py
#!/usr/bin/env python
#-- coding: utf-8 --
import requests
import sys
import os
import json
import logging
logging.basicConfig(level = logging.DEBUG, format = ‘%(asctime)s, %(filename)s, %(levelname)s, %(message)s’,
datefmt = ‘%a, %d %b %Y %H:%M:%S’,
filename = os.path.join(’/tmp’,‘weixin.log’),
filemode = ‘a’)
corpid=‘ww993b35fdacbd014c’
appsecret=‘Sryvp1_H46rV0DKbBCQAf49CQM3RmLyxyyr0rtJBY-w’
agentid=1000002
#获取accesstoken
token_url=‘https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=’ + corpid + ‘&corpsecret=’ + appsecret
req=requests.get(token_url)
accesstoken=req.json()[‘access_token’]
#发送消息
msgsend_url=‘https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=’ + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
#toparty=‘3|4|5|6’
message=sys.argv[2] + “\n\n” +sys.argv[3]
params={
“touser”: touser,
“toparty”: toparty,
"msgtype": "text",
"agentid": agentid,
“weixin.py” 47L, 1286C
#脚本需要修改三处地方
#corpid=‘ww599acef13131a6a1’ 企业id
#appsecret=‘9aPHyVW2AmJxIACgcAnmHjgHLjcUM4kw0AT50bt2ufM’ 应用密钥
#agentid=1000002 应用id
测试脚本可不可以用:
[root@server ~]# python weixin.py
Traceback (most recent call last):
File “weixin.py”, line 5, in
import requests
ImportError: No module named requests
#发现报错,原因是因为缺少requests模块
#解决方法
[root@server ~]# yum -y install epel-release.noarch
[root@server ~]# yum -y install python-pip
[root@server ~]# pip install requests
#再次运行,报错,原因是缺少变量
[root@server ~]# python weixin.py
Traceback (most recent call last):
File “weixin.py”, line 28, in
touser=sys.argv[1]
IndexError: list index out of range
[root@server ~]# python weixin.py WeiZongXiang biaoti neirong
#这个脚本需要三个参数,
#第一个是账号id ,在通讯录点开要发送的人,找到账号,不区分大小写
#第二个为标题
#第三个为内容
#确认自己的企业微信和个人微信都收到了消息
把脚本放在指定路径
脚本路径在主配置文件中定义的
[root@server ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@server ~]# mv weixin.py /usr/lib/zabbix/alertscripts/
[root@server ~]# cd !$
cd /usr/lib/zabbix/alertscripts/
[root@server alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/weixin.py
三、web端配置
1、创建媒介类型
管理–>报警媒介类型–>创建媒体类型
2、添加收件人
User settings–>报警媒介–>添加
3、开启动作
4、测试
点击测试出现这个界面,如果出现这个页面初步代表前面的步骤是没错的
然后发现是收不到报警的
解决方法:
[root@server alertscripts]# yum -y install dos2unix
Loaded plugins: fastestmirror
[root@server alertscripts]# dos2unix weixin.py
dos2unix: converting file weixin.py to Unix format …
解决办法:
[root@server alertscripts]# rm -rf /tmp/weixin.log