zabbix使用webhook 实现告警
zabbix可以使用webhook来实现告警通知。Webhook是一种在事件发生时自动触发HTTP POST请求的机制,可以将告警信息发送到指定的URL, 发送企业微信
·
zabbix可以使用webhook来实现告警通知。Webhook是一种在事件发生时自动触发HTTP POST请求的机制,可以将告警信息发送到指定的URL.
目录
一、脚本部署
1、首先将脚本上传至zabbix server端
查看脚本应该部署得目录位置
cat /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
将脚本存在到 /usr/lib/zabbix/alertscripts 目录下,脚本更换机器人更改 key 就行
vim /usr/lib/zabbix/alertscripts/webhook.py
#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os
#api_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=7550122e-9f95-4dfc-9d8b-3d47204fc254"
api_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=40d6be84-f457-43ef-b915-90691c678f88"
headers = {'Content-Type': 'application/json;charset=utf-8'}
def msg(user,subject,text):
json_text = {
"msgtype": "text",
"text": {
"content": subject + '\n' + text
},
}
print(requests.post(api_url, json.dumps(json_text), headers=headers).content)
if __name__ == '__main__':
user = str(sys.argv[1])
subject = str(sys.argv[2])
text = str(sys.argv[3])
#user = "tt"
#subject = "test"
#text = "hello zjh-zabbix-wechat-webhook "
msg(user,subject,text)
2、给脚本赋予执行权限
二、zabbix web界面配置
1、配置报警媒介类型
1.1、新建报警媒介
点击 管理 ---> 报警媒介类型 ---> 创建媒介类型

类型选择脚本,名称自己填写,脚本名称zabbix 部署得脚本名称,脚本参数如下
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

1.2、告警媒介模板
1.2.1、发送告警消息得模板
主题:
服务故障: {EVENT.NAME}
消息:
告警主机: **{HOST.NAME}**
主机地址: **{HOST.IP}**
监控项目: {ITEM.NAME}
当前取值: {ITEM.LASTVALUE}
告警等级: {TRIGGER.SEVERITY}
告警时间: {EVENT.DATE}-{EVENT.TIME}
事件ID: {EVENT.ID}

1.2.2、告警恢复消息模板
主题:
故障恢复: {EVENT.NAME}
消息:
主机名称: **{HOST.NAME}**
主机地址: **{HOST.IP}**
告警名称: {EVENT.NAME}
持续时长: {EVENT.DURATION}
恢复时间: {EVENT.RECOVERY.DATE}-{EVENT.RECOVERY.TIME}
当前状态: {TRIGGER.STATUS}
当前取值: {ITEM.LASTVALUE}
事件ID: {EVENT.ID}
2、添加用户
2.1、新建用户


2.2、配置用户链接报警媒介

2.3、给用户权限

3、创建动作
3.1、创建动作

3.2、创建得动作链接到主机群组

3.3、配置动作由哪个用户完成

三、验证

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)