要使用Python从Zabbix中读取数据,可以使用zabbix-api库。首先需要安装该库,可以通过pip命令进行安装:
pip install pyzabbix
然后在Python程序中导入相应的模块并连接到Zabbix服务器:
from pyzabbix import ZabbixAPI
# 创建与Zabbix API的连接
zabbix_server = 'http://your.zabbix.server/api'
username = 'admin'
password = 'password'
zapi = ZabbixAPI(zabbix_server)
zapi.login(user=username, password=password)
现在就可以开始查询数据了。下面是一些常见的示例:
-
获取主机列表:
hosts = zapi.host.get()
for host in hosts:
print('Host name:', host['name'])
print('Host ID:', host['hostid'])
获取指定主机的最新数值型项目(item)数据:
hostid = 10084 # 主机ID
items = zapi.history.get(itemids=[], output='extend', hostids=[hostid], limit=200)
for item in items:
print(f"Item ID: {item['itemid']}, Clock: {item['clock']}, Value: {item['value']}")