zabbix可以使用webhook来实现告警通知。Webhook是一种在事件发生时自动触发HTTP POST请求的机制,可以将告警信息发送到指定的URL.


目录

一、脚本部署

1、首先将脚本上传至zabbix server端

2、给脚本赋予执行权限

二、zabbix web界面配置

1、配置报警媒介类型

1.1、新建报警媒介

1.2、告警媒介模板

1.2.1、发送告警消息得模板

1.2.2、告警恢复消息模板

2、添加用户

2.1、新建用户

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

2.3、给用户权限

3、创建动作

3.1、创建动作

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

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

三、验证


一、脚本部署

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、配置动作由哪个用户完成

三、验证

Logo

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

更多推荐