zabbix系列(一)zabbix3.0.7微信告警配置详解

大家好,写下这篇文章是为了记录自己学习zabbix的路程!也能帮助各位同学们少走一点冤枉路!接下面我会在空闲时间把这一段时间的经验一点一点写出来,中间上下系列章节没有直接关联。


一、准备工作

申请微信公众号,并且是可以有发送消息的接口。添加有个脚本去调用微信的api之后可以参考下zabbix的搭建,然后了解下脚本报警,之后再考虑报警方式的多样化。

 

二、申请企业微信:

1.申请页面:https://mp.weixin.qq.com/cgi-bin/readtemplate?t=register/step1_tmpl&lang=zh_CN

 


选择企业微信

 

选择组织,并点击没有组织机构代码证,继续注册

 

填写组织名称


后续下一步下一步注册成功后进入企业微信管理后台


首先创建部门


再添加人员


完成人员添加后

 

创建应用

 

应用创建完成后

 

就可以看到agentid和secret

在我的企业中查看企业ID,CorpID

 


agentid、secret、CorpID下面在python脚本中会用到,这是接口的参数

 

 

9.下面是微信的脚本

weixin.py放到/usr/lib/zabbix/alertscripts目录下,zabbix server服务器的python3.5.1安装请查看 http://blog.csdn.net/wu2700222/article/details/77879935

 

cd /usr/lib/zabbix/alertscripts/weixin.py

cat weixin.py

 

#!/usr/local/bin/python3.5
# -*- coding:utf-8 -*-
import urllib.request
import json
import sys
import logging

touser = '@all'
agentid = 1000002
corpid = 'ww9964dcc49bb6a91a'
corpsecret = 'c2hhtBvOqSAS9FZE4UDbXGgJKevnJrH1fdz6O_IS09c'
url = 'https://qyapi.weixin.qq.com'
subject = sys.argv[1]
message = sys.argv[2]

'''logging.basicConfig(level=logging.DEBUG,filename='d:\Python_project\Scripts\my.log',
                    format='%(asctime)s -%(levelname)s: %(message)s')
                    '''

class
Weixin:
    def __init__(self, url, corpid,corpsecret):
        token_url = '%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s'% (url, corpid, corpsecret)
        self.token= json.loads(urllib.request.urlopen(token_url).read().decode())['access_token']

    def send_message(self, url, data):
        send_url = '%s/cgi-bin/message/send?access_token=%s'% (url,self.token)
        self.respone= urllib.request.urlopen(urllib.request.Request(url=send_url,data=data)).read()
        x = json.loads(self.respone.decode())['errcode']

        if x == 0:
            logging.debug('Successfully %s    %s'% (subject, message))
            return 'Succesfully'
       
else
:
            logging.debug('Failed %s    %s' % (subject, message))
            return 'Failed'

   
def
messages(self, subject, message):
        values = {
            "touser": touser,
            "msgtype": 'text',
            "agentid": agentid,
            "text": {'content': subject +'\n\n'+message},
            "safe": 0
       
}
        return self.send_message(url,bytes(json.dumps(values),'utf-8'))


if __name__ == '__main__':
    obj = Weixin(url, corpid, corpsecret)
    ret = obj.messages(subject, message)
    print(ret)

 

说明下,agentid 是应用ID、secret是应用密钥、CorpID是企业ID。。。。记得修改脚本权限,属主,放到和/usr/local/zabbix/scripts/目录下。

记得增加脚本执行权限,并修改所属组

chmod +x /usr/lib/zabbix/alertscripts/weixin.py
chown zabbix.zabbix/usr/lib/zabbix/alertscripts/weixin.py

 

测试,如果正常微信会收到微信的提醒消息



./weixin.py 12 12

 

 

接下面配置zabbix

创建报警类型

{ALERT.SUBJECT}

{ALERT.MESSAGE}

 

再创建动作

 

然后就能收到zabbix的消息提醒了,可以测试一下,比如重启某个被监控测试的oracle数据库服务

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值