从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息
  qdp7fV9qUjiK 2023年11月05日 30 0

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

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

查看AlertScriptsPath配置

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

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

编写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报警信息_python脚本_03

配置“动作”

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

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

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

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

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

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

设置完成后可以测试一下

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  SzVG4h2uFmuP   2023年12月06日   15   0   0 zabbix
  SzVG4h2uFmuP   2023年12月06日   17   0   0 监控zabbix
  SzVG4h2uFmuP   2023年12月12日   24   0   0 zabbix
  SzVG4h2uFmuP   2023年12月09日   37   0   0 zabbix
qdp7fV9qUjiK