zabbix api获取当前存在告警

该博客介绍了如何利用Zabbix5.0接口和Python3.6结合pyzabbix库,实现监控告警信息的定时获取,并通过企业微信发送告警通知。在十一假期等特殊时期,确保重要告警不被遗漏,提供了一种有效的监控解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  十一将至,有些监控告警虽然报了也没事,但是还是得有,这就出现了当不在电脑前看页面时可能有些重要的告警没有看到,所以想到放假期间定时发送当前存在的告警,就知道有没有重要的告警信息需要去解决一下了。

环境:

zabbix 5.0版本

python 3.6版本

接口模块 pyzabbix-1.0.0

代码:

#!/usr/bin/python3
# coding=utf-8

# -*- coding: utf-8 -*-
import json
from pyzabbix import ZabbixAPI
import datetime


# 钉钉消息
from pip._vendor import requests

boturl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx"
headers = {'Content-Type': 'application/json;charset=utf-8'}
def msg(text):
    json_text= {
        "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print(requests.post(boturl, json.dumps(json_text), headers=headers).content)

# zabbix地址和登录信息
ZABBIX_SERVER = 'http://192.168.1.20/'
zapi = ZabbixAPI(ZABBIX_SERVER)
zapi.login('Admin', 'passwdxxxx')


if '__main__' == __name__:
    # 获取告警信息
    alert_list = zapi.trigger.get(
        output=[
            "triggerid",    #触发器id
            "description",  #触发器内容秒数
            "priority",     #触发器等级1-5 5最大 信息、警告、一般严重、严重、灾难
        ],
        filter={
                      "value": 1    # 过滤,此处表示启动的触发器
                  },
        sortfield="priority",   # 排序
        sortorder="DESC",       # 正排与倒排
        min_severity=2,         # 返回指定告警级别的告警,这里是大于等于告警
        skipDependent=1,        # 跳过依赖于其他问题中的触发器
        monitored=1,            # 属于受监控主机的已启用触发器,并仅包含已启用的项目
        active=1,               # 只返回属于受监控主机的启用的触发器(与上条意思差不多,至于什么区别,未测)
        expandDescription=1,    # 在触发器的名称中展开宏
        selectHosts=['name'],   # 在结果中返回关联的主机信息(意思就是显示出那台主机告警的)
        selectGroups=['name'],  # 在结果中返回关联的主机组信息(意思就是显示出那个主机组告警的)
        only_true=1             # 只返回最近处于问题状态的触发器
    )
    now_date = datetime.datetime.now()
    info = ''
    info += '当前存在告警:\n' + str(now_date)
    for i in alert_list:
        info += '\n\n名称:' + i['hosts'][0]['name'] + '\n告警内容:' + i['description']
    msg(info)



上述代码获取zabbix接口当前存在的告警信息,格式化后通过企业微信发送。

可设置为定时任务每隔一段时间发送一次。

企业微信告警输出

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值