zabbix微信报警搭建流程
1. 下载zabbix的yum源
2. 安装zabbix
3. 安装数据库支持
4. 开启mariadb服务,设置数据库密码
5. 创建数据库并给予访问权限,可以进行刷新权限
6. 解压数据库包并导入数据库
输入数据库密码
7. 配置zabbix_server.conf,添加或修改
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
8. 开启zabbix相关服务,并设置开启启动
9. 配置httpd中的zabbix.conf的配置文件,添加时区
...
# php_value date.timezone Europe/Riga
php_value date.timezone Asia/Shanghai
...
10. 重启httpd服务后测试成果,IP/zabbix
11. 修改zabbix_agentd.conf配置文件
Server=192.168.122.206 zabbix服务器的地址
ServerActive=192.168.122.206 主动模式 zabbix-server-ip
Hostname=web1 主机名,便于区分,设置为本机名
UnsafeUserParameters=1 开启特殊字符
12. 创建Web主页添加内容
13. 重启相关服务
14. 查看端口是否已经**,有两个10050端口就ok
15. zabbix配置主机群组、主机、监控项等
16. 企业微信自建应用报警机器人,记录下CorpID、AgentId、Secret、部门ID,创建脚本
17. 修改脚本的权限
18. 手动执行脚本测试脚本是否成功运行,脚本 账号 标题 内容
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
又一篇结束,记下了我的操作步骤,虽然忽略了很多图,但是都是再网页上操作的图,自行研究研究呗
有问题的欢迎留言!!