统计zabbix指定日期内的告警数量

问题描述:
知名企业A公司的运维人员小智,需要对zabbix发生的告警数量进行统计。
解决方案:
1、数据库查询方案,调整时间范围即可查询告警相应数据:

查询最近30天zabbix告警数据
SELECTa.hostid ,a.`host`,a.`name` AS hostnname,b.`name` AS groupname,FROM_UNIXTIME( e.clock ) AS eventtime,e.`name`,e.severity 
FROMhosts aJOIN hosts_groups c ON a.hostid = c.hostidJOIN hstgrp b ON b.groupid = c.groupid AND b.NAME LIKE '%***%'JOIN items d ON a.hostid = d.hostid AND d.flags <> 1 AND d.flags <> 2JOIN ( SELECT itemid, triggerid FROM functions GROUP BY itemid, triggerid ) f ON d.itemid = f.itemidJOIN events e ON f.triggerid = e.objectid AND e.`value` = 1 AND e.clock in (select e.clock from events e where TIMESTAMPDIFF(day,from_unixtime(e.clock,'%Y-%m-%d'),current_date)<30)ORDER BY e.clock

2、使用zabbix api获取

import requests
import json
from datetime import datetime# Zabbix API相关信息
zabbix_url = 'http://your-zabbix-server/zabbix/api_jsonrpc.php'
zabbix_username = 'your_username'
zabbix_password = 'your_password'# 登录Zabbix并获取认证令牌
def zabbix_login():data = {'jsonrpc': '2.0','method': 'user.login','params': {'user': zabbix_username,'password': zabbix_password,},'id': 1,}response = requests.post(zabbix_url, json=data, headers={'Content-Type': 'application/json'})result = response.json()if 'result' in result:return result['result']else:raise Exception("Zabbix login failed")# 获取指定日期范围内的告警数量
def get_alert_count(start_date, end_date):token = zabbix_login()data = {'jsonrpc': '2.0','method': 'alert.get','params': {'output': 'extend','time_from': datetime.strptime(start_date, '%Y-%m-%d').timestamp(),'time_till': datetime.strptime(end_date, '%Y-%m-%d').timestamp(),'selectAcknowledges': 'extend','sortfield': 'clock','sortorder': 'DESC',},'auth': token,'id': 2,}response = requests.post(zabbix_url, json=data, headers={'Content-Type': 'application/json'})#查询数据在此result = response.json()if 'result' in result:return len(result['result'])else:raise Exception("Failed to retrieve alert count")# 指定日期范围
start_date = '2024-01-01'
end_date = '2024-01-10'# 获取告警数量
alert_count = get_alert_count(start_date, end_date)
print(f"Alert count from {start_date} to {end_date}: {alert_count}")

请确保替换代码中的以下值:

‘http://your-zabbix-server/zabbix/api_jsonrpc.php’:Zabbix服务器的API URL。
‘your_username’:用于登录Zabbix的用户名。
‘your_password’:用于登录Zabbix的密码。
此代码登录到Zabbix,获取认证令牌,然后使用alert.get方法获取指定日期范围内的告警数量。注意,Zabbix的API调用可能会受到Zabbix服务器配置和权限的影响,确保用户具有足够的权限执行相应的API调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C项目】无头单向不循环链表

简介&#xff1a;本系列博客为C项目系列内容&#xff0c;通过代码来具体实现某个经典简单项目 适宜人群&#xff1a;已大体了解C语法同学 作者留言&#xff1a;本博客相关内容如需转载请注明出处&#xff0c;本人学疏才浅&#xff0c;难免存在些许错误&#xff0c;望留言指正 作…

Rabbitmq入门与应用(五)-延迟队列的设计与实现

延迟队列设计 在开发过程中涉及到延迟队列的应用&#xff0c;例如订单生成后有30分钟的付款时间&#xff0c;注册是有60秒的邮件或者短信的发送读取时间等。 常规使用rabbitmq设计延迟队列有两种方式 使用创建一个延迟队列阻塞消息使用延迟队列插件 Dead Letter Exchanges —…

chatgpt的大致技术原理

当然可以&#xff0c;让我们从技术层面更详细地探讨一下ChatGPT的工作原理。 数据收集与预处理&#xff1a; 数据收集&#xff1a;ChatGPT首先会从各种来源&#xff08;如网页、新闻、书籍等&#xff09;收集大量的文本数据。这些数据为模型提供了丰富的语言模式和表达方式&a…

Linux——信号(2)

在上一张博客我们介绍了Linux中信号的概念和信号是如何产生的&#xff0c;虽然信号 有多种产生方式&#xff0c;但是最终只能由操作系统给对应进程发送特定信号。现在 我将更加规范的介绍Linux中的信号。上一章的遗留问题 我们上一章中在观察信号的默认处理的时候发现终止信号…

《数学建模》专栏导读

文章分类 相关概念入门快速建模相关混合整数线性规划&#xff08;MILP&#xff09;加速技巧数值问题探讨相关问题解决技巧 相关概念入门 文章相关概念离散优化模型的松弛模型线性松弛问题混合整数线性规划MILP问题中增添约束的影响约束的影响 快速建模相关 文章求解器涉及步…

canal监听binlog记录业务数据的变更;canalAdmin对instance做web配置

概述 平时在开发中会通过logback打印一些开发日志&#xff0c;有时也会需要记录一些业务日志&#xff0c;简单的就直接用log记录一下&#xff0c;但是系统中需要记录日志的地方越来越多时&#xff0c;不能每个地方都写一套log记录&#xff1b; 由于平常用的大多都是mysql&…

JavaScript:JSON、三种包装类

JOSN: 我们希望可以将一个对象在不同的语言中进行传递&#xff0c; 以达到通信的目的&#xff0c;最佳方式就是将一个对象转换为字符串的形式 JSON&#xff08;JavaScript Object Notation&#xff09; - JS的对象表示法 - JSON实际上就是一个字符串&#xff0c;它的语法格…

【论文阅读笔记】Contrastive Learning with Stronger Augmentations

Contrastive Learning with Stronger Augmentations 摘要 基于提供的摘要&#xff0c;该论文的核心焦点是在对比学习领域提出的一个新框架——利用强数据增强的对比学习&#xff08;Contrastive Learning with Stronger Augmentations&#xff0c;简称CLSA&#xff09;。以下…

【Jvm】性能调优(上)线上问题排查工具汇总

文章目录 一.互联网概念1.产品闭环和业务闭环2.软件设计中的上游和下游3.JDK运行时常量池 二.CPU相关概念1.查询CPU信息2.CPU利用率&#xff08;CPU utilization&#xff09;和 CPU负载&#xff08;CPU load&#xff09;2.1.如何理解CPU负载2.2.top命令查看CPU负载均值2.3.CPU负…

Pytorch 配置 GPU 环境

1、Pytorch 深度学习跑代码的时候&#xff0c;因为简单的操作不适合cpu运行&#xff0c;我们更习惯用GPU加速代码。 本章将介绍怎么安装pytorch的gpu环境&#xff0c;以及常见的问题 关于conda的安装&#xff0c;参考之前文章&#xff1a;深度学习环境配置&#xff1a;Anaco…

初始树莓派 + VMware17 安装树莓派(Raspberry Pi 4B/5)

文章目录 树莓派入门 VMware17 安装树莓派(Raspberry Pi 4/5B)前言一、树莓派入门指南&#xff1a;从零开始探索树莓派树莓派4B和5对比 二、在VMware Workstation 17上安装树莓派4B/5操作系统&#xff1a;实现强大性能与便捷模拟工具准备开始安装树莓派1.创建一个虚拟机2. 选择…

PyCharm 取消所有断点

PyCharm 取消所有断点 1. Run -> View Breakpoints...2. Python Line Breakpoint3. Remove - DoneReferences 1. Run -> View Breakpoints… 2. Python Line Breakpoint ​​​ 3. Remove - Done References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

【web安全】渗透测试实战思路

步骤一&#xff1a;选目标 1. 不建议太小的公司&#xff08;可能都是请别人来开发的&#xff0c;用现成成熟的框架&#xff09; 2. 不建议一线大厂&#xff1a;腾讯&#xff0c;字节&#xff0c;阿里等&#xff0c;你懂的 3. 不建议政府部门&#xff0c;安全设备多&#xff…

Spring MVC(基于 Spring4.x)基础学习

一、SpringMVC概述 二、SpringMVC的HelloWorld 三、使用RequestMapping映射请求 四、映射请求参数&请求头 五、处理模型数据 六、视图和视图解析器 七、RESTful CRUD 八、SpringMVC表单标签&处理静态资源 九、数据转换&数据格式化&数据校验 十、处理JSON:使用…

如何在1Panel上偷渡HTTP/3

本文 首发于 Anyeの小站&#xff0c;转载请取得作者同意。 前言 简介 HTTP/3 的基础即谷歌多年探索的基于 UDP 的 QUIC 协议。与 TCP 相比&#xff0c;使用 UDP 可以提供更大的灵活性&#xff0c;并且可以使 QUIC 完全于用户空间中实现——对协议实现的更新不像 TCP 那样需要绑…

前端win10如何设置固定ip(简单明了)

1、右击这个 2、点击属性 3、双击协议版本4设置成以下就ok

原生微信小程序开发记录

1. 拿到项目 先构建 2.小程序与普通网页开发的区别 网页开发渲染线程和脚本线程是互斥的&#xff0c;这也是为什么长时间的脚本运行可能会导致页面失去响应&#xff0c;而在小程序中&#xff0c;二者是分开的&#xff0c;分别运行在不同的线程中。网页开发者可以使用到各种浏览…

【HarmonyOS】鸿蒙开发之Slider组件——第3.5章

组件应用场景: 设备音量大小&#xff0c;调节屏幕亮度等需求 slider组件内options属性简介 value&#xff1a;滑动条当前进度值。 min&#xff1a;设置滑动条设置最小值。 max&#xff1a;设置滑动条设置最大值&#xff0c;默认为 100 。 step&#xff1a;设置滑动条滑动跳动…

【npm】npm镜像源及命令

淘宝镜像源 npm config set registry https://registry.npm.taobao.org &#xff08;旧版&#xff0c;已到期&#xff09; 淘宝中国镜像源 npm config set registry https://registry.npmmirror.com &#xff08;新版&#xff09; 腾讯云镜像源 npm config set registry h…

Linux命令-bzmore命令(查看bzip2压缩过的文本文件的内容)

说明 bzmore命令 用于查看bzip2压缩过的文本文件的内容&#xff0c;当下一屏显示不下时可以实现分屏显示。 语法 bzmore(参数)参数 文件&#xff1a;指定要分屏显示的.bz2压缩包。