将 Zabbix 数据拉入 csv 文件
Pulling Zabbix Data into csv file
似乎找不到正确的语法来获取我需要的请求。
此时我可以通过 API 连接到我的 Zabbix 服务器。我能够看到我需要的所有数据,这些数据由一个简单的 print() 函数确认。
但是,我对从变量中获取数据到csv文件的方法一头雾水。
from pyzabbix import ZabbiXAPI
zapi = ZabbixAPI("example")
zapi.login("example", "example")
for hostInventory in zapi.host.get():
print(hostInventory)
这会吐出大约 500 行的内容——显然是删除了敏感信息:
{'hostid': 'xxx', 'proxy_hostid': 'xxx', 'host': 'xxx', 'status': 'x', 'lastaccess': 'x', 'ipmi_authtype': 'x', 'ipmi_privilege': 'x', 'ipmi_username': 'x', 'ipmi_password': 'x', 'maintenanceid': 'x',
'maintenance_status': 'x', 'maintenance_type': 'x', 'maintenance_from': 'x', 'name': 'x', 'flags': 'x', 'templateid': 'x', 'description': 'x', 'tls_connect': 'x', 'tls_accept': 'x', 'tls_issuer': 'x', 'tls_subject': 'x', 'proxy_address': 'x', 'auto_compress': 'x', 'custom_interfaces': 'x', 'uuid': 'x', 'inventory_mode': 'x'}
如果我需要提供任何进一步的信息,请告诉我。第一次发帖。
你必须学习标准模块 csv 或流行 pandas
(而且这个问题与Zabbix
没有直接关系)。
有了pandas
就简单多了。
import pandas as pd
data = list( zapi.host.get() )
df = pd.DataFrame(data)
df.to_csv('output.csv')
最终您可能不得不使用自己的代码来创建字典
data = []
for hostInventory in zapi.host.get():
item = {"hostid": hostInventory.hostid, ...}
data.append(item)
似乎找不到正确的语法来获取我需要的请求。
此时我可以通过 API 连接到我的 Zabbix 服务器。我能够看到我需要的所有数据,这些数据由一个简单的 print() 函数确认。
但是,我对从变量中获取数据到csv文件的方法一头雾水。
from pyzabbix import ZabbiXAPI
zapi = ZabbixAPI("example")
zapi.login("example", "example")
for hostInventory in zapi.host.get():
print(hostInventory)
这会吐出大约 500 行的内容——显然是删除了敏感信息:
{'hostid': 'xxx', 'proxy_hostid': 'xxx', 'host': 'xxx', 'status': 'x', 'lastaccess': 'x', 'ipmi_authtype': 'x', 'ipmi_privilege': 'x', 'ipmi_username': 'x', 'ipmi_password': 'x', 'maintenanceid': 'x',
'maintenance_status': 'x', 'maintenance_type': 'x', 'maintenance_from': 'x', 'name': 'x', 'flags': 'x', 'templateid': 'x', 'description': 'x', 'tls_connect': 'x', 'tls_accept': 'x', 'tls_issuer': 'x', 'tls_subject': 'x', 'proxy_address': 'x', 'auto_compress': 'x', 'custom_interfaces': 'x', 'uuid': 'x', 'inventory_mode': 'x'}
如果我需要提供任何进一步的信息,请告诉我。第一次发帖。
你必须学习标准模块 csv 或流行 pandas
(而且这个问题与Zabbix
没有直接关系)。
有了pandas
就简单多了。
import pandas as pd
data = list( zapi.host.get() )
df = pd.DataFrame(data)
df.to_csv('output.csv')
最终您可能不得不使用自己的代码来创建字典
data = []
for hostInventory in zapi.host.get():
item = {"hostid": hostInventory.hostid, ...}
data.append(item)