python获取zabbix监控项图形
python获取zabbix图形
通过zabbix的api接口获取指定时间段的监控项图形
图片示例:

代码示例:
# -*- coding: UTF-8 -*-
#可根据监控项获取zabbix下所有主机的Itemid,通过zabbix库的graphs_items表 ,获取graphid
import requests
import datetime
# 配置 Zabbix API 相关参数
ZABBIX_API_URL = "http://xxxxxxxx/zabbix/api_jsonrpc.php"
ZABBIX_USER = "xxxxx"
ZABBIX_PASSWORD = "xxxxx"
# 手动登录 Zabbix 获取会话 cookie
def zabbix_manual_login():
session = requests.Session()
login_url = ZABBIX_API_URL.replace("/api_jsonrpc.php", "/index.php")
login_payload = {
"name": ZABBIX_USER,
"password": ZABBIX_PASSWORD,
"autologin": 1,
"enter": "Sign in",
}
response = session.post(login_url, data=login_payload)
if "zbx_sessionid" not in session.cookies:
raise Exception("登录失败,请检查用户名和密码。")
return session
# 获取 Zabbix 图形图片
def get_graph_image(session, graphid, start_time, end_time, output_file):
# 构建图形 URL
graph_url = ZABBIX_API_URL.replace("/api_jsonrpc.php", "/chart2.php")
params = {
"graphid": graphid,
"from": start_time,
"to" : end_time,
"width": 800, # 可调整图形宽度
"height": 400, # 可调整图形高度
"profileIdx": "web.graphs"
}
# 请求图片
response = session.get(graph_url, params=params, stream=True)
if response.headers.get("Content-Type") != "image/png":
print("获取图形失败,返回内容为:")
print(response.text)
raise Exception("未能正确获取图形图片,请检查参数或权限。")
# print(response.text)
# 保存图片到本地
with open(output_file, 'wb') as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
print(f"图形已保存到 {output_file}")
# 将时间转换为 Zabbix 的 Unix 时间戳格式
def convert_to_stime(dt):
return dt.strftime("%Y%m%d%H%M%S")
if __name__ == "__main__":
try:
# 手动登录获取会话
session = zabbix_manual_login()
print("登录成功,已获取会话 cookie。")
# 指定 graphid
graphid = "xxxxx"
# 设置时间范围(每天的 9 点到 16 点)
today = datetime.date.today()
start_time = datetime.datetime(today.year, today.month, today.day, 9, 0, 0)
end_time = datetime.datetime(today.year, today.month, today.day, 16, 0, 0)
# 保存图片的文件路径
output_file = f"zabbix_graph_{graphid}.png"
# 获取图形图片
get_graph_image(session, graphid, start_time, end_time, output_file)
except Exception as e:
print("发生错误:", str(e))
python获取zabbix监控项图形的更多相关文章
- 04:获取zabbix监控信息
目录:Django其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项. ...
- zabbix 监控项报"Value "(No info could be read for "-p": geteuid()=1002 but you should be root"
zabbix 监控项报错如下: “Value "(No info could be read for "-p": geteuid()=1002 but you shoul ...
- zabbix 监控项(key)
Key 描述 返回值 参数 详细说明 agent.hostname 返回被监控端名称 字符串 - 返回配置文件中配置的被监控端的名称 agent.ping 检测被监控端是否存活 1 - 运行中 其他 ...
- zabbix 监控项
监控项 概述 监控项是从主机收集的数据信息. 配置主机后,你需要添加一些监控项以开始获取实际数据. 一个监控项是一个独立的指标.快速添加多个监控项的一种方法是将一个预定义的模板附加到主机.然而,为了优 ...
- (8)zabbix监控项item是什么
什么是item Items是从主机里面获取的所有数据.通常情况下我叫itme为监控项,例如服务器加入了zabbix监控,我需要监控它的cpu负载,那么实现这个方法的东西就叫item item构成 it ...
- Zabbix 监控项更多用法
监控服务端口状态 配置 Zabbix 提供的检测器 配置自定义值映射 查看监控项数据状态 触发器配置 自定义监控项 TCP 11 种状态 TCP 11 种状态 LISTEN - 侦听来自远方TCP端口 ...
- zabbix监控项截图整理
general监控项
- zabbix监控项字体乱码的处理方法
一.新安装完的查看项目的时候字体是乱码的 二.在控制面板的字体中复制出系统的“微软雅黑”字体,粘贴到桌面 粘贴出来之后会产生两个文件,msyhbd.ttf为加粗的字体 三.修改并替换字符集 我是编译安 ...
- zabbix监控项整理Items-key
agent.hostname:hostname,字符串 agent.ping:可用性检查,可用返回1:不可用返回空 agent.version:agent程序的版本,返回字符串 kernel.maxf ...
- 02 . Zabbix配置监控项及聚合图形
安装Zabbix Agent监控本机 安装agent软件 与server端不同,Agent只需安装zabbix-agent包 cat /etc/yum.repos.d/zabbix.repo [zab ...
随机推荐
- JMeter手机app录制
在移动应用的性能测试中,如何准确.全面地捕捉用户操作并生成可复用的测试脚本,始终是测试工程师面临的一大挑战.而JMeter,作为一款功能强大的开源性能测试工具,不仅在Web测试中表现优异,在手机App ...
- android 播放视频页面黑屏,且报错:Couldn't open 'xxxxxx' java.io.FileNotFoundException: No content provider:
原因为,activity的顶部布局,VideoView设定了android:background="@color/bg_black"去掉就可以了 之前跑着都正常,改了UI后就没有去 ...
- 修改python打包后的窗体图标、任务栏图标、exe图标
前言 我python开发的GUI界面(图形用户界面)一直是tkinter,打包exe一直是Pyinstaller.但是打包出来的exe图标.状态栏图标.窗体左上角图标一直是默认的羽毛,我想自定义. 效 ...
- 如何使用ChatGPT自带插件
OpenAI的插件将ChatGPT连接到第三方应用程序.这些插件使ChatGPT能够与开发者定义的API进行交互,增强ChatGPT的能力,并使其能够执行广泛的操作.插件使ChatGPT能够做如下事情 ...
- opencv colors
""" 在利用python进行画图时,我们可能常常用的颜色就是'k'黑色,'r'红色,'b'蓝色,'g'绿色等,这些颜色分别代表常见的 几种颜色.但是当我们画图比较多时, ...
- Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal)
前言 本篇只会教 Angular Material Datepicker 里最关键的组件 -- Calendar 组件. 还有如何自定义 DateAdapter,让 Calendar 支持 TC39 ...
- 26.删除有序数组中的重复项 Golang实现
题目描述: 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度.元素的 相对顺序 应该保持 一致 .然后返回 nums 中唯 ...
- Kubernetes基础(Pod?Label?Namespace?Deployment?Service?)(十二)
上面我们都是在架构层面了解 Kubernetes,但是似乎没有发现关于容器的说明,Kubernetes 作为容器编排引擎,那么他是怎么去对容器进行编排的呢?在 Kubernetes 集群中抽象了很多集 ...
- cobalt strike安装教程
将本地IP和密码填入:./teamserver 192.168.xx.xx 密码 启动成功
- Win11本地部署FaceFusion3最强AI换脸,集成Tensorrt10.4推理加速,让甜品显卡也能发挥生产力
FaceFusion3.0.0大抵是现在最强的AI换脸项目,分享一下如何在Win11系统,基于最新的cuda12.6配合最新的cudnn9.4本地部署FaceFusion3.0.0项目,并且搭配Ten ...