zabbix监控报警了怎么处理 处理过程说一下 zabbix监控用户登录告警 |
您所在的位置:网站首页 › 远程监控怎么说 › zabbix监控报警了怎么处理 处理过程说一下 zabbix监控用户登录告警 |
Zabbix #Zabbix 构建企业级监控告警平台2Zabbix Action动作Action简介当某个触发器状态发生改变(如Problem、OK),可以采取相应的动作,如: 执行远程命令 邮件,短信,微信告警告警实验简介1. 创建告警media type(发送消息的方式,例如使用某个mail user连接某个邮件服务器 smtp.126.com [email protected] xxxx)2. 创建用户或组(接收消息的用户例如email address, 注意权限)3. 创建Action(使用之前定义好的media type 发送给之前定义好的用户或组)邮件告警准备告警信息1.注册新邮箱http://mail.126.com/或mail.qq.com 2.开启POP3的授权码3.zabbix设置邮箱zabbix服务器与邮箱服务器的连通性测试 nc smtp.126.com -t 25连接成功 [root@zabbix ~]# nc smtp.126.com -t 25 220 126.com Anti-spam GT for Coremail System (126com[20140526])设置zabbix链接126邮箱信息4.创建用户组运维组 用户kk 密码自定义告警类型 设置告警设置动作:触发器产生的告警 设置一旦模板发生问题,每隔60秒就发送邮件给用户1 当事件升级,发送给更高级用户。 查看告警微信告警zabbix微信报警准备工作 所有准备工作的目的是为了获取以下4个信息: 参数 应用:报警机器人 AgentId:1000002 Secret: rIrN51FEjgW6T2bdmSaEoOIB5UbaBTgddQkuC8cca1w 企业CorpID:wwa1da242f211cdf47 部门:运维部 部门ID:2 步骤1:手机端操作1.下载企业微信(手机端) 2.注册企业(手机端) 步骤2:PC端企业微信后台操作打开浏览器输入以下网址,登陆企业微信PC端后台:记录企业ID https://work.weixin.qq.com/wework_admin 创建企业,然后通过PC浏览器打开企业微信。 通过手机端扫一扫就可以登录。 记录企业信息中的corpID。 创建自己的应用(PC后台)(记录AgentId和Secret) 添加管理组(PC后台) 添加部门(PC后台) 添加员工(PC后台) 测试企业微信接口调试工具(PC后台) API文档->左侧 开发者工具->接口调试工具 上面测试好之后可以配置python报警监控脚本了 配置python报警监控脚本 创建脚本文件: mkdir /var/lib/zabbixsrv/alertscripts/ vim /var/lib/zabbixsrv/alertscripts/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 = 'wwa1da242f211cdf47' self.__secret = 'rIrN51FEjgW6T2bdmSaEoOIB5UbaBTgddQkuC8cca1w' # 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':2, '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])给权限 chown zabbix.zabbix /var/lib/zabbixsrv/alertscripts/wechat.py chmod 777 /var/lib/zabbixsrv/alertscripts/wechat.py测试wechat.py程序 [root@localhost alertscripts]# ./wechat.py 账号 hello 哈喽 {u'invalidparty': u'1', u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok. Warning: wrong json format. '}账号为通讯录中的账号 设置报警媒介zabbix 3.0 需要在为alert脚本定义参数,以前的版本参数都固定的,现在用户可以自己定义命令行的参数了。添加的参数也就是脚本中的收信人、标题和信息内容 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}然后添加动作即可 远程命令修改***被监控端***配置文件 vim /etc/zabbix/zabbix_agentd.conf EnableRemoteCommands=1 systemctl restart zabbix-agent.service开启sudo权限(被监端)添加 visudo zabbix ALL=NOPASSWD: /usr/bin/systemctl restart httpd动作-操作添加 ok~
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |