zabbix监控机器资源,通过企业微信报警
在公司当中,一般报警无非就是邮件,短信,微信,以及钉钉,
今天我们使用企业微信来实现一下,这个比较常见,而且实用
首先需要一个python脚本,放在zabbix-server的目录下面
链接:https://pan.baidu.com/s/1W-oORtJHHR6MSiSiDOpvdw
提取码:aaaa
在企业微信后台开始创建一个第三方应用
然后编写脚本
脚本内容
”“”
#!/usr/bin/python2.7
#_coding:utf-8 _
import requests,sys,json
import urllib3
urllib3.disable_warnings()
reload(sys)
sys.setdefaultencoding('utf-8')
def GetToken(Corpid,Secret):
Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
Data = {
"corpid":Corpid,
"corpsecret":Secret
}
r = requests.get(url=Url,params=Data,verify=False)
Token = r.json()['access_token']
return Token
def SendMessage(Token,User,Agentid,Subject,Content):
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
Data = {
"touser": User, # 企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
#"totag": Tagid, # 企业号中的部门id,群发时使用。
"msgtype": "text", # 消息类型。
"agentid": Agentid, # 企业号中的应用id。
"text": {
"content": Subject + '\n' + Content
},
"safe": "0"
}
r = requests.post(url=Url,data=json.dumps(Data),verify=False)
return r.text
if name == 'main':
User = sys.argv[1] # zabbix传过来的第一个参数
Subject = sys.argv[2] # zabbix传过来的第二个参数
Content = sys.argv[3] # zabbix传过来的第三个参数
Corpid = "ww71ccca3d6964cf" # CorpID是企业号的标识
Secret = "u9djyHMjQM7d5sjw8kYyWEg0ppnbDIkP1gzWeI" # Secret是管理组凭证密钥
#Tagid = "2" # 通讯录标签ID
User = "LiXiaoFeng" #指定用户名
Agentid = "1000005" # 应用ID
Token = GetToken(Corpid, Secret)
Status = SendMessage(Token,User,Agentid,Subject,Content)
print Status
“”“
配置完成之后测试一下
接下来开始配置一下zabbix
流程是:1、报警媒介配置
注意下面要填写的脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2、用户
3、动作
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
恢复:{TRIGGER.STATUS}, 服务器:{HOSTNAME1}:{TRIGGER.NAME}已恢复!
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
默认接收人 = 服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
这里已经相互关联了,可以测试一下了,看看效果
【备注】如果这里收不到信息,客户换个用户在测试一下,比如使用admin用户,如果可以说明配置的账号有问题,需要调整,我在这里有遇到问题
说明已经成功
- Linux的企业-Zabbix监控、nginx、邮箱微信报警(1)
- zabbix 通过微信企业小助手发送报警
- 分布式监控系统Zabbix-3.0.3-完整安装记录-新报微信报警(企业微信)
- powershell监控windows服务并通过企业微信报警
- (九)Zabbix_监控报警无法通过微信发送信息
- zabbix 通过微信(团体)企业号报警 简例
- zabbix企业微信报警实现
- zabbix通过微信模板消息发送报警
- zabbix企业微信号、钉钉报警脚本
- 坚持#第273天~zabbix监控2(自动发现的总结、自动注册、微信报警、linux上网)
- zabbix企业应用:通过SNMP和iDRAC监控DELL服务器硬件
- zabbix 结合企业微信实现微信报警功能
- 使用zabbix监控数据并实现邮件、电话、微信报警
- Zabbix4.2.0使用Python连接企业微信报警
- zabbix企业应用:通过SNMP和iDRAC监控DELL服务器硬件
- zabbix企业应用:通过SNMP和iDRAC监控DELL服务器硬件
- zabbix结合微信实现监控报警
- 通过zabbix自带模板监控windowsPC机器
- zabbix企业应用之监控docker容器资源情况
- zabbix之企业微信报警通知 推荐