Can't seem to find the correct syntax to get the request I need.
At this point I am able to connect to my Zabbix server via an API. I'm able to see all the data that I need which is confirmed by a simple print() function.
However, I am blanking at the way to get the data from the variable into a csv file.
from pyzabbix import ZabbiXAPI
zapi = ZabbixAPI("example")
zapi.login("example", "example")
for hostInventory in zapi.host.get():
print(hostInventory)
This then spits out about 500 lines of this approx - obviously redacted sensitive information:
{'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'}
If I need to provide any further information please let me know. First time poster.
You have to learn standard module csv or popular
pandas
(and this problem has nothing to do directly with
Zabbix
).With
pandas
it should be much simpler.Eventually you may have to use own code to create dictionaries