天天看点

zabbix企业微信报警zabbix企业微信报警

zabbix企业微信报警

1.先注册企业微信

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

1.2.填写注册相关信息

zabbix企业微信报警zabbix企业微信报警

1.3.注册完成

zabbix企业微信报警zabbix企业微信报警

2.创建报警机器人

2.1.创建应用

应用管理–应用-创建应用

zabbix企业微信报警zabbix企业微信报警

2.2.编辑应用信息

设置机器人log、机器人名称

zabbix企业微信报警zabbix企业微信报警

2.3.创建成功

需要的两个信息

AgentId 1000002

Secret #这个会发送到企业微信

zabbix企业微信报警zabbix企业微信报警

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

点击我的企业微信–微信插件–找到二维码扫码关注即可接收微信报警信息

zabbix企业微信报警zabbix企业微信报警

扫描二维码关注我的企业微信报警信息

zabbix企业微信报警zabbix企业微信报警

手机微信查看邀请信息

zabbix企业微信报警zabbix企业微信报警

3.1.命令行测试发现微信信息

获取企业ID

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

企业ID:ww232c7ba826aceaac
           
zabbix企业微信报警zabbix企业微信报警

3.2.获取企业应用ID和密码

点击应用管理–找到对应的–应用-复制Agentld、Secret的值

AgentID 1000002
secret TtPPKdfYWphLiNBqnAqLEjH4Re8B9Ljg9dN8QUjxkfI
           
zabbix企业微信报警zabbix企业微信报警

4.准备Python脚本发送消息至企业微信

使用脚本的时候只需要修改17、18、19行即可

corpid=’ ’ 企业ID

appsecret=‘ ’ secret

agentid=’ ‘ AgentID

#!/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='' #企业ID
appsecret='-t0rZGTakxaH2izz7degTA41naI'  #secret
agentid=  #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)
           

4.2.zabbix实现企业微信报警

将脚本上传至zabbix-server端的,/usr/lib/zabbix/alertscripts路径下 。

报警内容

报警内容

发生的
问题发生
当前状态: 未解决❎️
告警主机: {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.3.删除命令行测试生成的报警日志

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

4.4.新建微信报警媒介-定义发件人

点击管理—报警媒介类型—新增报警媒介—填写名称—类型选择脚本—添加三个脚本参数

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

5.添加zabbix报警媒介

zabbix企业微信报警zabbix企业微信报警

创建成功

zabbix企业微信报警zabbix企业微信报警

5.1.定义收件人

点击用户—报警媒介—添加—类型选择微信报警—收件人可以从企业微信上获取—添加—更新

zabbix企业微信报警zabbix企业微信报警

5.2.停用之前的邮箱报警
zabbix企业微信报警zabbix企业微信报警

5.3.触发报警

zabbix企业微信报警zabbix企业微信报警

日志提示已经送达

zabbix企业微信报警zabbix企业微信报警

5.4.查看报警信息

zabbix企业微信报警zabbix企业微信报警

继续阅读