微信告警首先注册一个企业微信,才能实现微信告警。注册地址:https://work.weixin.qq.com/ 。
创新互联的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括成都网站设计、成都做网站、电商网站开发、微信营销、系统平台开发。yum install -y python-requests
2). 配置python脚本
zabbix sever服务器上默认监控脚本目录上创建wechat.py。
cd /usr/lib/zabbix/alertscripts
vim wechat.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: Yu
import requests
import sys
import os
import json
import logging
# config for log
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('/usr/lib/zabbix/alertscripts','weixin.log'),
filemode = 'a')
# Company ID
corpid='xxxxxxx'
# secret
appsecret='xxxxxxxx'
# AgentId
agentid=xxxxxxx
#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']
# Message send
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[3]
params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
记得给文件赋权
chown zabbix.zabbix weixin
chmod 755 weixin
3). 测试
运行weixin.py脚本
/usr/lib/zabbix/alertscripts/weixin.py name "title test" "hello"
name:收件人账号(登录企业微信网站 - 通讯录 - 打开某个收件人 - 账号)
title test:标题
hello:具体需要发送的内容
如果没有错误的话,收件人将可在手机APP企业微信上收到此消息,如下图:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
脚本名称必须跟zabbix server上配置/usr/lib/zabbix/alertscripts的脚本名称一样。
2). 创建用户,添加报警媒介
管理 ----> 用户
注:收件人填写企业微信中通讯录成员帐号,这里打算使用微信关联公众号收取报警通知信息。
3). 创建触发器动作
配置 ----> 动作 ----> 动作
创建邮件发送动作,配置触发条件:触发器示警度 大于等于 警告
配置 ----> 动作 ----> 操作
默认标题:
故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息内容:
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
配置 ----> 动作 ----> 恢复
默认标题:
恢复{TRIGGER.STATUS}, 服务器名:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
消息内容:
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
4). 模拟测试微信收取告警通知
将新某台被监控主机zabbix agent服务关闭,稍等5分钟查收能收到微信告警。
5). 使用普通微信接受消息设置
直接用微信扫码关注微工作台,即可在微信中接收企业通知和使用企业应用。
方法:登录企业微信管理页面 - 我的企业 - 微工作台 - 邀请关注的二维码
关注后即可收取。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款