一、在企业微信添加群,并添加企业微信群机器人
注意:在企业微信机器人需要相应的权限 需要联系企业微信后台管理员来添加相应的权限,否则自己无法再企业微信群添加机器人
点添加之后会生成Webhook地址,脚本调用机器人时需要用到webhook地址
二、在zabbix-server服务添加脚本
在/usr/lib/zabbix/alertscripts下添加监控脚本wechat.py 便于zabbix-server 调用脚本
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
# 机器人的webhook地址
API_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b4fa7bb9-931c-4b53-a7b4-9ece748db98b"
# HTTP请求头部信息
HEADERS = {
'Content-Type': 'application/json;charset=utf-8'
}
# 定义发送消息的函数
def send_text(text):
# 构建消息体
texts = {
"msgtype": "text",
"text": {
"content": text
}
}
# 发送HTTP POST请求
response = requests.post(API_URL, json=texts, headers=HEADERS)
# 打印响应内容(一般用于调试)
print(response.content)
# 如果该文件被直接执行,则从命令行接收一个参数并将其发送到机器人的webhook地址
if __name__ == '__main__':
if len(sys.argv) != 2:
print("Usage: python send_text.py <text>")
sys.exit(1)
text = sys.argv[1] # 获取命令行参数
send_text(text) # 发送消息
赋予脚本权限
chmod +x wechat.py
测试脚本
./wechat.py 123test
三、在zabbix-server网页端进行相应的配置
1、创建企业微信报警媒介类型
脚本参数: {ALERT.MESSAGE}
添加完成之后点添加即可 会在下面引用报警媒介类型
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}
添加完成之后点添加即可
4、在用户资料添加企业微信报警媒介
到这里就操作完成了 可以添加对应的动作触发器 来进行测试是否成功