zabbix微信告警脚本-创新互联

# yum install -y git python-pip

成都网络公司-成都网站建设公司创新互联10余年经验成就非凡,专业从事成都网站设计、网站建设,成都网页设计,成都网页制作,软文营销1元广告等。10余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!

# pip install requests simplejson

# git clonehttps://github.com/X-Mars/Zabbix-Alert-WeChat.git

查看脚本的存放目录

# cat /etc/zabbix/zabbix_server.conf |grep alert
AlertScriptsPath=/usr/lib/zabbix/alertscripts

# cp ~/Zabbix-Alert-WeChat/wechat.py /usr/lib/zabbix/alertscripts/

# vi /usr/lib/zabbix/alertscripts/wechat.py

#!/usr/bin/python

#_*_coding:utf-8 _*_

import urllib,urllib2

import json

import sys

import simplejson

reload(sys)

sys.setdefaultencoding('utf-8')

def gettoken(corpid,corpsecret):

  gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret

  print  gettoken_url

  try:

    token_file = urllib2.urlopen(gettoken_url)

  except urllib2.HTTPError as e:

    print e.code

    print e.read().decode("utf8")

    sys.exit()

  token_data = token_file.read().decode('utf-8')

  token_json = json.loads(token_data)

  token_json.keys()

  token = token_json['access_token']

  return token

def senddata(access_token,user,subject,content):

  send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token

  send_values = {

    "touser":user,   #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。

    "toparty":"2",   #企业号中的部门id。

    "msgtype":"text", #消息类型。

    "agentid":"6",   #企业号中的应用id。

    "text":{

      "content":subject + '\n' + content

      },

    "safe":"0"

    }

#   send_data = json.dumps(send_values, ensure_ascii=False)

  send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')

  send_request = urllib2.Request(send_url, send_data)

  response = json.loads(urllib2.urlopen(send_request).read())

  print str(response)

if __name__ == '__main__':

  user = str(sys.argv[1])   #zabbix传过来的第一个参数

  subject = str(sys.argv[2])  #zabbix传过来的第二个参数

  content = str(sys.argv[3])  #zabbix传过来的第三个参数

  corpid =  'wx5c55b26119f82df5'  #CorpID是企业号的标识

  corpsecret = 'XqHkOZfq9NpiXRU1Z6Vh0aRlZstG0o8LnclmzGJ45VqofUGvf3f8JedJ-XgMsWCy'  #corpsecretSecret是管理组凭证密钥

  accesstoken = gettoken(corpid,corpsecret)

  senddata(accesstoken,user,subject,content)

给权限否则无法使用

chmod +x /usr/lib/zabbix/alertscripts/wechat.py

# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/wechat.py

https://github.com/X-Mars/Zabbix-Alert-WeChat

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:zabbix微信告警脚本-创新互联
文章URL:http://ybzwz.com/article/idgos.html