Centos8安装zabbix5.4.7(二)
接着上篇,这篇写的是zabbix实现通过企业微信发送告警,自行可以直接注册企业微信,并不需要什么资料,然后在企业内部群添加机器人,然后在机器人信息中会获得一个webhook链接,这个链接后续会用到。
创建调用webhook链接的脚本
脚本路径为:/usr/lib/zabbix/alertscripts/ 。脚本具体内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33#! /usr/bin/python3
#! -*- coding:utf-8 -*-
import os
import urllib3
import time
import requests
import json
import sys
urllib3.disable_warnings()
def SendMessageURL(User,Subject,Messages):
URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=webhook_key" #机器人的webhook
HEADERS = {"Content-Type": "application/json"}
Data = {
"msgtype": "markdown",
"markdown":{
"content":Subject + "\n" + Messages
},
}
r = requests.post(url=URL,headers=HEADERS,json=Data,verify=False)
print(r.json())
if __name__ == "__main__":
SENDTO = str(sys.argv[1])
SUBJECT = str(sys.argv[2])
MESSAGE = str(sys.argv[3])
Status = str(SendMessageURL(SENDTO,SUBJECT,MESSAGE))
print(Status)以markdown格式发送消息
创建完脚本之后需要修改脚本权限。
1
2chmod +x wechat.py
chown zabbix. wechat.py
接下来是web页面的操作
管理 > 报警媒介类型 > 创建媒体类型
告警内容
1
2
3
4
5
6
7
8<font color="#FF0000" center>**告警信息**</font>[{EVENT.ID}]
> 告警主机: **{HOST.NAME}**
> 主机地址: **{HOST.IP}**
> 监控项目: {ITEM.NAME}
> 当前取值: {ITEM.LASTVALUE}
> 告警等级: {TRIGGER.SEVERITY}
> 告警时间: {EVENT.DATE}-{EVENT.TIME}
> 事件ID: {EVENT.ID}告警恢复
1
2
3
4
5
6
7
8
9<font color="#008000" center>**告警**</font>[{EVENT.ID}]<font color="#008000" center> **已恢复**</font>
> 主机名称: **{HOST.NAME}**
> 主机地址: **{HOST.IP}**
> 告警名称: {EVENT.NAME}
> 持续时长: {EVENT.DURATION}
> 恢复时间: {EVENT.RECOVERY.DATE}-{EVENT.RECOVERY.TIME}
> 当前状态: {TRIGGER.STATUS}
> 当前取值: {ITEM.LASTVALUE}
> 事件ID: {EVENT.ID}接下创建动作,配置 > 动作 > Trigger actions > 创建动作
接下来选择user settings > Profile > 报警媒介
不出意外的话,至此配置已经完成。上效果图: