发布时间:2022-10-13 13:30
一、企业微信端配置
1、创建微信群机器人
在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择“添加群机器人”,设置机器人名称,系统自动生成此机器人的webhook地址,请记住该地址,不要随便给其他人,以免无关人员通过此地址推送垃圾信息!
2、查看群机器人webhook信息,后面需要用到。
二、告警脚本配置
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)
2、赋予此脚本执行权限,并进行文本内容推送测试chmod +x wechat_alert.py
python wechat_alert.py 告警测试
微信群机器人正常收到推送内容:
ps:如果执行后报错类似 import requests 未找到,执行下面命令安装即可:yum install python-requests -y
三、zabbix端配置企业微信告警
1、创建告警媒介
管理---报警媒介类型---右上角“创建媒体类型”
名称自定义,类型选择“脚本”,脚本名称填写刚才创建的python脚本文件名称,参数调用告警消息字段,添加即可:
2、编辑用户告警媒介选项
管理---用户,选择需要发送告警消息的用户,点击用户名称进入配置页面,选择“报警媒介”标签,点击添加新媒介
类型选择刚才创建的企业微信告警媒介,收件人填写机器人所在群成员的任何可以作为关键信息的内容,例如成员名称,成员手机号等,启用时段和告警程度按照需求选择,然后启用添加即可
3、配置告警动作参数
配置---动作---右上角“创建动作”
在“动作”标签填写动作名称,添加触发器示警度和触发条件,然后切换到“操作”标签,设置示警动作详细配置:
按照下图进行配置,添加“操作”配置。告警消息自定义内容如下,可复制使用:主题:
故障{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}
按照下图进行配置,添加“恢复操作”配置。恢复告警消息自定义内容如下,可复制使用:主题:
故障恢复{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}
完成“动作”和“操作”两个标签配置后,添加确认即可。
系统已经完成了告警动作生成,这就完成了通过企业微信机器人推送告警的所有配置!
等待有触发告警的项目,即可通过微信群机器人推送到群里。
【Python 实战基础】如何绘制关系网格图展示8个节点间的关系
【服务器数据恢复】某研究院DELL服务器中RAID5数据恢复案例
温度报警程序c语言设计,51单片机课程设计:基于DS18B20的温度报警器
在puppeteer中使用node.js创建子进程并使用WebSocket和Ipc实现进程间通信,从而实现数据的快速爬取
解决gitlab runner在docker模式下报 503 Service Unavailable 错误
npm 的语义版本控制、解决控制台Prop being mutated: “placement“报错
axios (get,post,put,delete),常用配置,全局配置,axios.create(config)配置一个新的axios