zabbix微信报警搭建流程

时间:2024-03-26 20:06:08

zabbix微信报警搭建流程

 

1. 下载zabbix的yum源

zabbix微信报警搭建流程

 

2. 安装zabbix

zabbix微信报警搭建流程

 

3. 安装数据库支持

zabbix微信报警搭建流程

 

4. 开启mariadb服务,设置数据库密码

zabbix微信报警搭建流程

 

5. 创建数据库并给予访问权限,可以进行刷新权限

zabbix微信报警搭建流程

 

6. 解压数据库包并导入数据库

zabbix微信报警搭建流程

输入数据库密码

 

7. 配置zabbix_server.conf,添加或修改

zabbix微信报警搭建流程

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

 

8. 开启zabbix相关服务,并设置开启启动

zabbix微信报警搭建流程

 

9. 配置httpd中的zabbix.conf的配置文件,添加时区

zabbix微信报警搭建流程

...

# php_value date.timezone Europe/Riga

php_value date.timezone Asia/Shanghai

...

 

10. 重启httpd服务后测试成果,IP/zabbix

zabbix微信报警搭建流程

 

11. 修改zabbix_agentd.conf配置文件

zabbix微信报警搭建流程

Server=192.168.122.206       zabbix服务器的地址

ServerActive=192.168.122.206  主动模式 zabbix-server-ip

Hostname=web1             主机名,便于区分,设置为本机名

UnsafeUserParameters=1      开启特殊字符

 

12. 创建Web主页添加内容

zabbix微信报警搭建流程

 

13. 重启相关服务

zabbix微信报警搭建流程

 

14. 查看端口是否已经**,有两个10050端口就ok

zabbix微信报警搭建流程

 

15. zabbix配置主机群组、主机、监控项等

 

16. 企业微信自建应用报警机器人,记录下CorpID、AgentId、Secret、部门ID,创建脚本

zabbix微信报警搭建流程

 

17. 修改脚本的权限

zabbix微信报警搭建流程

 

18. 手动执行脚本测试脚本是否成功运行,脚本 账号 标题 内容

zabbix微信报警搭建流程

 

19. zabbix管理创建报警媒介,创建动作,手动修改触发器参数查看效果是否微信报警

 

附件:

wechat.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
class WeChat(object):
    __token_id = ''
    # init attribute
    def __init__(self,url):
        self.__url = url.rstrip('/')
        self.__corpid = 'ww9a4696194e7bc36c'
        self.__secret = 'hIYV2E49dPdAWLi0BWz54Kr7Ka93eUztknIJwyKtATs'
    # Get TokenID
    def authID(self):
        params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
        data = urllib.urlencode(params)
        content = self.getToken(data)
    try:
        self.__token_id = content['access_token']
        # print content['access_token']
    except KeyError: raise KeyError
# Establish a connection
def getToken(self,data,url_prefix='/'):
    url = self.__url + url_prefix + 'gettoken?'
    try:
        response = urllib2.Request(url + data)
    except KeyError:
        raise KeyError
    result = urllib2.urlopen(response)
    content = json.loads(result.read())
    return content
# Get sendmessage url
def postData(self,data,url_prefix='/'):
    url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
    request = urllib2.Request(url,data)
    try:
        result = urllib2.urlopen(request)
    except urllib2.HTTPError as e:
        if hasattr(e,'reason'):
            print 'reason',e.reason
        elif hasattr(e,'code'): print 'code',e.code
        return 0
    else:
        content = json.loads(result.read())
    result.close()
    return content
# send message
def sendMessage(self,touser,message):
    self.authID()
    data = json.dumps({
        'touser':touser,
        'toparty':1,
        'msgtype':"text",
        'agentid':"1000002",
        'text':{
            'content':message
        },
        'safe':"0"
    },ensure_ascii=False)
 
    response = self.postData(data)
    print response
if __name__ == '__main__':
    a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
    a.sendMessage(sys.argv[1],sys.argv[3])

附上一篇PDF文件参考:

https://download.csdn.net/download/aganstrong/11077263

 

又一篇结束,记下了我的操作步骤,虽然忽略了很多图,但是都是再网页上操作的图,自行研究研究呗

 

有问题的欢迎留言!!