0
点赞
收藏
分享

微信扫一扫

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息

龙毓七七 2023-11-03 阅读 18

在part00中提到过,zabbix在整个结构中,只起到发起报警,并将信息推送给Python脚本的作用。所以此文的主要目的就是描述如何配置zabbix的报警媒介。

zabbix可以通过配置报警媒介的方式,来自定义的接收报警信息。

查看AlertScriptsPath配置

报警脚本可以是shell、py或者其他各种格式类型的可执行脚本,一般来说,在zabbix的配置中存放脚本的路径配置为告警脚本在Zabbix服务器上执行。这些脚本位于服务器配置文件中定义的目录中AlertScriptsPath

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息_zabbix

编写demo脚本

这里提供一个简单python3脚本作为示例,其功能是接受所有的参数记录为日志:

/usr/lib/zabbix/alertscripts/alert_test.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import datetime
import sys

def log(message):
        current_time = datetime.datetime.now()
        timestamp = current_time.strftime("%Y-%m-%d %H:%M:%S")
        with open("log.txt", "a") as log_file:
            log_file.write(f"{timestamp} {message}\n")

if __name__ == "__main__":
    arguments = sys.argv[1:]
    result = '|'.join(arguments)
    log(result)

为了保证正常使用需要添加x属性chmod +x alert_test.py

配置zabbix报警媒介

在 Zabbix 中配置报警媒体类型: 打开 Zabbix 管理界面,然后依次选择 "管理" > "报警媒介类型"->"创建媒体类型"。

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息_zabbix_02


类型选择 "脚本",并在 "脚本名称" 字段中指定您的 Python 脚本的名称alert_test.py,填写脚本参数{ALERT.SUBJECT} and {ALERT.MESSAGE},这两个宏会在下文中解释

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息_zabbix_03

配置“动作”

接下来将“报警媒介”配置到“动作中”

在zabbix中点击 “配置”->“动作” ->“创建动作”

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息_zabbix_04

在动作中点击 操作 , 添加操作细节 ,操作类型选中“发送信息”,添加发送到”用户群组”或者“用户”,进送到选择刚刚添加的脚本。

之前脚本参数中的{ALERT.SUBJECT}{ALERT.MESSAGE}就是对应操作中的默认标题与消息内容

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息_zabbix_05

设置完成后可以测试一下

从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息_python脚本_06


举报

相关推荐

0 条评论