首页 > 经验充电 > Zabbix.5.0设置企业微信群机器人推送告警信息
2020
12-18

Zabbix.5.0设置企业微信群机器人推送告警信息

一、企业微信端配置

1、创建微信群机器人

在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择“添加群机器人”,设置机器人名称,系统自动生成此机器人的webhook地址,请记住该地址,不要随便给其他人,以免无关人员通过此地址推送垃圾信息!

image.png

image.png

2、查看群机器人webhook信息,后面需要用到。

image.png

二、告警脚本配置

ps:zabbix利用python脚本给企业微信机器人推送告警信息~

1、登录zabbix server服务器,查找并进入zabbix告警脚本调用目录

grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A

查到目录为 /usr/lib/zabbix/alertscripts 这也是默认告警脚本目录,进入此目录,创建脚本文件并编辑,名称自定义,例如 wechat_alert.py,填入以下脚本内容,并将“url”字段修改为刚才的机器人webhook地址。

#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=cxxxxxxxxxxxxxxxx"   #这个是企业微信机器人生成的webhook地址,修改为你的即可。

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text,
            "mentioned_mobile_list":["13800000000","13800000001"]     #这个是企业微信机器人自动艾特群里成员,修改为群成员手机号即可。
        },
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

image.png

2、赋予此脚本执行权限,并进行文本内容推送测试

chmod +x wechat_alert.py
python wechat_alert.py 告警测试

微信群机器人正常收到推送内容:

image.png

ps:如果执行后报错类似 import requests 未找到,执行下面命令安装即可:

yum install python-requests -y


三、zabbix端配置企业微信告警

1、创建告警媒介

管理---报警媒介类型---右上角“创建媒体类型”

image.png

名称自定义,类型选择“脚本”,脚本名称填写刚才创建的python脚本文件名称,参数调用告警消息字段,添加即可:

image.png

2、编辑用户告警媒介选项

管理---用户,选择需要发送告警消息的用户,点击用户名称进入配置页面,选择“报警媒介”标签,点击添加新媒介

image.png

image.png

类型选择刚才创建的企业微信告警媒介,收件人填写机器人所在群成员的任何可以作为关键信息的内容,例如成员名称,成员手机号等,启用时段和告警程度按照需求选择,然后启用添加即可

image.png

3、配置告警动作参数

配置---动作---右上角“创建动作”

image.png

在“动作”标签填写动作名称,添加触发器示警度和触发条件,然后切换到“操作”标签,设置示警动作详细配置:

image.png

按照下图进行配置,添加“操作”配置。告警消息自定义内容如下,可复制使用:

主题:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

消息:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image.png

按照下图进行配置,添加“恢复操作”配置。恢复告警消息自定义内容如下,可复制使用:

主题:
故障恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}已恢复!

消息:
恢复告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image.png

完成“动作”和“操作”两个标签配置后,添加确认即可。

image.png

系统已经完成了告警动作生成,这就完成了通过企业微信机器人推送告警的所有配置!

image.png

等待有触发告警的项目,即可通过微信群机器人推送到群里。

image.png



本文》有 0 条评论

留下一个回复