网站首页 > 开源技术 正文
公司最开始使用的邮件报警形式,但是用了一段时间发现实时性和查看上效果不是很好。于是打算使用企业微信像聊天一样来进行报警。
步骤:
1、企业微信上各种ID信息和应用准备
首先登陆企业微信管理后台
记录好CorpID
在企业微信管理后台创建一个应用
设置好对应的报警人等信息,设置好可见范围(某些人或者某个部门),记录好这里的AgentId 和 Secret
记录着3个信息即可。
测试
wget https://raw.githubusercontent.com/OneOaaS/weixin-alert/master/weixin_linux_amd64 ./weixin_linux_amd64 --corpid=ww9a86b983140c4039 --corpsecret=p1NFDde3dWC4a2xZ_LM1QXMNW9h_inQjR0ZkNj2ogPI --msg="test12332" --user=monitor --agentid=1000002 {"errcode":0,"errmsg":"ok","invaliduser":""}
提示:
--corpid= 我们企业里面的id
--corpsecret= 这里就是我们Secret里面的id
-msg= 内容
-user=我们邀请用户的账号
因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看
说明文档:https://work.weixin.qq.com/api/doc#10167
接口文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8
调试工具:http://work.weixin.qq.com/api/devtools/devtool.php
zabbix-server端设置
下载安装requests(python脚本调用到)
/usr/local/python2.7.9/bin/pip install requests
编辑好python脚本
zabbix默认脚本存放位置:
查看 zabbix_server.conf 配置文件 AlertScripts 脚本放置路径:
cat /usr/local/zabbix/alertscripts/wechat.py #!/usr/local/python2.7.9/bin/python2.7 # -*- coding: utf-8 -*- # zabbix notification confirmation script # python2.7 or above import requests import json import os import sys #Toparty = "2" #部门id AgentID = 1000005 #应用id #修改为企业CropID和Secret CropID = 'ww4ea11111189822' Secret = 'ibHasd23423sdf4asdasdDSAstEA7XinGhgaFA0' #获取Token Gtoken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ CropID + "&corpsecret=" + Secret headers = {'Content-Type': 'application/json'} json_data = json.loads(requests.get(Gtoken).content.decode()) token = json_data["access_token"] #消息发送接口 Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token #消息发送函数 def msg(user, title, message): weixin_msg = { "touser" : user, "msgtype" : "text", "agentid" : AgentID, "text" : { "content" : "%s\n%s" %(title, message) }, } print requests.post(Purl,json.dumps(weixin_msg),headers=headers) if __name__ == '__main__': user = sys.argv[1] #获取第一个参数 title = sys.argv[2] #获取第二个参数 message = sys.argv[3] #获取第三个参数 msg(user, title, message)
其他展示效果格式:
{ "touser" : "qy01ed14fb35f912079c395d425f", "msgtype" : "news", "agentid" : 1000005, "news" : { "articles" : [ { "title" : "title", "description" : "message", "url" : "www.xlcwnet.com", "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png", "btntxt":"阅读全文" } ] } }
{ "touser" : "qy01ed14fb35f912079c395d425f", "msgtype" : "textcard", "agentid" : 1000005, "textcard" : { "title" : "title", "description" : "message", "url" : "www.xlcwnet.com", "btntxt":"更多" }, }
{ "touser" : "qy01ed14fb35f912079c395d425f", "msgtype" : "text", "agentid" : 1000005, "text" : { "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。" }, }
测试:
[root@localhost alertscripts]# ./weixin.py XXX subject body
zabbix 前端设置
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
设置收到报警的人员,在企业微信管理界面找到每个人的ID号,多个接收人以"|"符号来分开。
设置触发报警时候发送格式
大家可以参考下,直接复制过去用
告警主题:
[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障! 告警内容: 地址:{HOST.IP} 告警主机: {HOSTNAME1} 主机分组: {TRIGGER.HOSTGROUP.NAME} 告警时间: {EVENT.DATE} {EVENT.TIME} 告警等级: {TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目: {TRIGGER.KEY1} 问题详情: {ITEM.NAME}:{ITEM.VALUE} 当前状态: {TRIGGER.STATUS} 事件 ID: {EVENT.ID}
告警恢复内容:
1恢复主题: 2[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}{TRIGGER.NAME}已恢复! 3恢复内容: 4告警主机: {HOSTNAME1} 5主机分组: {TRIGGER.HOSTGROUP.NAME} 6告警时间: {EVENT.DATE} {EVENT.TIME} 7告警等级: {TRIGGER.SEVERITY} 8告警信息: {TRIGGER.NAME} 9告警项目: {TRIGGER.KEY1} 10问题详情: {ITEM.NAME}:{ITEM.VALUE} 11当前状态: {TRIGGER.STATUS} 12事件 ID: {EVENT.ID}
至此设置完成!
测试
创建主机 test15 ,设置个没有使用的 IP 为地址
日常使用效果
猜你喜欢
- 2024-10-17 天鬼指示器-WA字符串(魔兽世界wa字符串网站)
- 2024-10-17 如果你唯一的问题是有钱 那你至少要拥有这十辆法拉利
- 2024-10-17 US$7,000万变$1,700万?|「元祖」保时捷Type 64离奇流拍
- 2024-10-17 山田裕贵——专题来了(山田裕贵zico)
- 2024-10-17 太任性!世界十大汽车收藏狂(收藏级汽车)
- 2024-10-17 Top系列:2020年世界十大汽车收藏(世界上最有收藏价值的车)
- 2024-10-17 宝马M1 Procar Championship专为赛道而生
- 2024-10-17 Zabbix 微信报警——企业号版本!(企业微信自动报平安)
- 2024-10-17 从Kubernetes安全访问AWS服务,多云场景下如何管理云凭据
- 2024-10-17 GTOKEN宣布与Vivid Games达成策略合作关系
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)