zabbix微信 | 微信发送图文消息

作者: _简_述_ | 来源:发表于2017-03-15 20:37 被阅读609次

继添加微信告警之后,极大的方便运维人员查看告警信息。要知道,微信是可以发送图片的,如果某个监控项目发生故障,告警时顺便把近一小时的图发出来岂不是更好。

文档不再详细描述配置只对关键步骤进行说明。有些概念和内容是建立在了解zabbix和了解微信接口之上。

此次图文告警是基于微信告警之后,所以企业号的申请等配置查看http://www.jianshu.com/p/55455c43a346


服务器配置

下载图文告警脚本

  • 1.将告警脚本weixinnew.py放入默认告警/usr/local/zabbix/share/zabbix/alertscripts/目录下。
  • 2.添加执行权限 chmod +x weixinnew.py

zabbix web端配置

  • 1.添加Media types
  • 2.添加告警动作

Default message 使用html的编写方法(微信要求)

主机名:{HOSTNAME1}<br>
主机IP:{IPADDRESS}<br>
主机组:{TRIGGER.HOSTGROUP.NAME}<br>
告警时间:{EVENT.DATE} {EVENT.TIME}<br>
告警信息: {TRIGGER.NAME}<br>
告警项目:{TRIGGER.KEY1}<br>
问题详情:{ITEM.NAME}:{ITEM.VALUE}<br>
告警值:{TRIGGER.STATUS}:{ITEM.VALUE1}<br>
事件ID:{EVENT.ID}

脚本部分说明

1.需要填写变量

######################################
#可以访问到zabbix页面的URL
URL = 'http://**.**.**.**/zabbix/api_jsonrpc.php'
ZABBIX_URL='http://**.**.**.**/zabbix/index.php'
CHART_URL='http://**.**.**.**/zabbix/chart.php'
#登录zabbix的账号密码
USERNAME='*****'
PASSWORD='*****'
#放cookie的路径
COOKIEURL='*****/cookie'
#方式图片的路径
PIC_PATH ='/*****/image/'

#微信企业号
corpsecret ="*****"
corpid = "*****"
#配置应用id
appid='*'
######################################

2.ip 和key 是从zabbix 传来的截取的,用来获取图片

    user = 'jipeng'   #微信企业号账号标识
    title = str(sys.argv[1]) #zabbix传过来的第一个参数-标题
    content = str(sys.argv[2]) #zabbix传过来的第二个参数-内容
    ip=re.findall(r"主机IP:(.+?)<br>",content)[0]#截取ip地址
    key=re.findall(r"告警项目:(.+?)<br>",content)[0]#截取zabbix key

相关文章

网友评论

  • ch丶疯子wtc:您好,有几个问题点不是很懂
    1、URL = 'http://**.**.**.**/zabbix/api_jsonrpc.php'、CHART_URL='http://**.**.**.**/zabbix/chart.php'这2个URL是什么意思,我访问时候并不正确
    2、 user = 'jipeng' #微信企业号账号标识,这个对于的账号是什么,我试了corpid 、secret、agentid都不对
  • 辣条便宜:是否能通过动作传送过来的Item ID,进数据库查询对应的图形ID,再截图保存推到微信😁
  • 辣条便宜:楼主,端口流量推送图文,只有单方向的流量
  • e14710f78090:COOKIEURL='*****/cookie'
    #方式图片的路径
    PIC_PATH ='/*****/image/'

    请问这两个路径是自己在系统下随便创建一下吗
    _简_述_: @Suensam 是的
  • J书越来越垃圾了:保存图片给我提供了新的想法,多谢:+1:
    _简_述_: @zili啊 😀
  • 97836e3edd4a: #放cookie的路径
    COOKIEURL='*****/cookie'
    #方式图片的路径
    PIC_PATH ='/*****/image/'
    这两个路径是什么路径,Zabbix中都没有找到!!
    _简_述_:@tooni 自行判断下尝试下吧,脚本已经很久了,已经不对该项目提供支持。
    97836e3edd4a:user = 'jipeng' #微信企业号账号标识
    title = str(sys.argv[1]) #zabbix传过来的第一个参数-标题
    content = str(sys.argv[2]) #zabbix传过来的第二个参数-内容
    ip=re.findall(r"主机IP:(.+?)<br>",content)[0]#截取ip地址
    key=re.findall(r"告警项目:(.+?)<br>",content)[0]#截取zabbix key

    这一部分内容需要修改吗?
    _简_述_: @tooni 自己创建
  • 炸毛萌主:企业微信会报这个错请问楼主知道怎么解决么?
    {u'errcode': -1, u'errmsg': u'Invalid input: Missing a closing quotation mark in string.(json format)'}
    _简_述_:@漏气萌妹 本文是建立在企业微信已经正常通信的前提下。之后才能进行图文的配置。相关文档查看之前我写的。网上也有大量文章。
    炸毛萌主:@_简_述_ 微信开发文档中找过了,没有找到这个相关的报错,你这边只改了那几个***的变量之后就可以直接用了?不用修改其他地方么?
    _简_述_:企业号报错问题,原因很多。得自己根据报错找相关资料解决了。

本文标题:zabbix微信 | 微信发送图文消息

本文链接:https://www.haomeiwen.com/subject/dhqrnttx.html