携手创作,共同成长!这是我参加「掘金日新方案 8 月更文应战」的第4天,点击查看活动详情

zabbix运用企业微信监控报警

1.注册企业微信

运用企业微信报警需求先注册企业微信

企业微信地址:https://work.weixin.qq.com/

填写注册信息即可

zabbix实现企业微信监控报警(七)

注册完成

zabbix实现企业微信监控报警(七)

2.创立报警机器人

2.1.创立运用

运用办理—运用—创立运用

zabbix实现企业微信监控报警(七)

2.2.编辑运用信息

设置机器人log、描绘信息、运用部分

zabbix实现企业微信监控报警(七)

2.3.创立成功

最主要的就是这两个信息

AgentId 1000002

Secret iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI

zabbix实现企业微信监控报警(七)

3.微信关联企业微信接纳报警内容

点击我的企业—微信插件—找到二维码扫描重视即可接纳企业微信报警信息

zabbix实现企业微信监控报警(七)

扫描二维码重视我的企业接纳报警信息

zabbix实现企业微信监控报警(七)

手机微信查看

zabbix实现企业微信监控报警(七)

3.命令行测验发现微信音讯

3.1.获取企业ID

点击我的企业—企业信息—企业ID

ww48f74fc8ed3a07ba

zabbix实现企业微信监控报警(七)

3.2.获取运用ID和暗码

点击运用办理—找到对应的运用—仿制AgentId、Secret的值

AgentId		1000002
Secret		iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI

zabbix实现企业微信监控报警(七)

3.3.预备Python脚本产生音讯至企业微信

将前两步预备好的企业ID、运用ID、运用暗码等信息填入到Python脚本中

每次运用的时候只需求修正17、18、19行即可

corpid=’xx’ #企业ID appsecret=’xx’ #运用暗码 agentid=xx #运用ID

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#comment: zabbix接入微信报警脚本
import requests
import sys
import os
import json
import logging
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
	datefmt = '%a, %d %b %Y %H:%M:%S',
	filename = os.path.join('/tmp','weixin.log'),
	filemode = 'a')
corpid='ww48f74fc8ed3a07ba' #企业ID
appsecret='iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI'  #secret
agentid=1000002  #AgentID
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
#发送音讯
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
toparty='3|4|5|6'
message=sys.argv[3]
params={
        "touser": touser,
        "toparty": toparty,
        "msgtype": "text",
        "agentid": agentid,
        "text": {
                "content": message
        },
        "safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)

3.4.将脚本上传至zabbix-server并测验产生报警内容

1.预备Python环境装置所依赖的模块
装置Python2-pip时依赖epel源提前预备好
[root@zabbix-server ~]# yum -y install python2-pip
2.去清华源找到对应的加速器并装置短少的模块
这个地址有加速器的运用方法https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
[root@zabbix-server ~]# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple request
3.命令行测验并产生内容到微信
[root@zabbix-server ~]# python weixin.py JiangXiaoLong 'ceshi' 'ceshi'
语法格式:python 脚本名 要产生给谁 '标题' '内容'
要产生给谁能够在企业微信部分中找到要产生的人点进去即可看到账号信息

微信查看音讯有没有收到

zabbix实现企业微信监控报警(七)

4.zabbix完成企业微信报警

4.1报警内容

报警内容
产生的
问题产生
当前状况: 未解决❎️
告警主机: {HOSTNAME1}
告警时刻: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
事情ID: {EVENT.ID}
康复的
问题康复
当前状况: 已处理✅
告警主机: {HOSTNAME1}
告警时刻: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
事情ID: {EVENT.ID}

4.2.删去命令行测验生成的报警日志

由于我们测验是以root身份测验的,如果不删去,zabbix报警的时候则无法报警,会提示无权限讲报警信息写入到日志
[root@zabbix-server ~]# rm -rf /tmp/weixin.log

4.3.将报警脚本移动至zabbix报警脚本目录中

1.获取报警脚本寄存路径
[root@zabbix-server ~]# egrep -v '^$|^#' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=30
AlertScriptsPath=/usr/lib/zabbix/alertscripts			#这个目录寄存报警脚本
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
2.移动报警脚本至脚本目录
[root@zabbix-server ~]# mv weixin.py /usr/lib/zabbix/alertscripts/

4.4.新建微信报警前言-界说发件人

点击办理—报警前言类型—新增报警前言—填写名称—类型选择脚本—增加三个脚本参数

{ALERT.SENDTO}			//发件人
{ALERT.SUBJECT}			//标题
{ALERT.MESSAGE}			//内容

zabbix实现企业微信监控报警(七)

创立成功

zabbix实现企业微信监控报警(七)

4.5.界说收件人

点击用户—报警前言—增加—类型选择微信报警—收件人能够从企业微信上获取—增加—更新

zabbix实现企业微信监控报警(七)

4.6.停用之前的邮箱报警

zabbix实现企业微信监控报警(七)

4.7.触发主机宕机告警并查收报警音讯

随意找一台监控主机执行poweroff
[root@192_168_81_220 ~]# poweroff

仪表盘现已报警

zabbix实现企业微信监控报警(七)

动作日志中提示现已送达

zabbix实现企业微信监控报警(七)

查看问题产生报警音讯

zabbix实现企业微信监控报警(七)

查看问题康复报警音讯

zabbix实现企业微信监控报警(七)

4.8.触发终端打开数并查收报警音讯

这儿能够看到192.168.81.230这台机器的最大打开终端数量是3个,超越3个就会报警

zabbix实现企业微信监控报警(七)
现已报警
zabbix实现企业微信监控报警(七)
查看报警内容
zabbix实现企业微信监控报警(七)