Пытаюсь достучаться до Zabbix API из python. А в ответ от сервера получаю…пустоту.
Работать пытаюсь через питоновские модули для zabbix API. Использовал и https://github.com/gescheit/scripts/tree/master/zabbix и https://github.com/lukecyca/pyzabbix/wiki/. Результат одинаковый. В ответ на любой запрос получаю пустой список. При этом, если намеренно “ошибиться” в регистрационных данных пользователя с доступом к API, получаю ошибку. Если авторизоваться валидным пользователем без доступа к API, получаю ошибку о недоступности API.
Показываю на примере модуля из второй моей ссылки, но по первой всё то же самое, придётся верить на слово.
Вот пример:
>>> from pyzabbix import ZabbixAPI
>>> zapi = ZabbixAPI("http://zabbix.lo/zabbix")
>>> zapi.login("zapi", "zapipass")
>>> print "Connected to Zabbix API Version %s" % zapi.api_version()
Connected to Zabbix API Version 1.3
>>> for h in zapi.host.get(extendoutput=True):
... print h['host']
...
>>> zapi.host.get()
[]
>>> zapi.host.get(extendoutput=True)
[]
>>> zapi.login("na", "npass")
>>> print "Connected to Zabbix API Version %s" % zapi.api_version()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pyzabbix/__init__.py", line 283, in api_version
obj = self.do_request(self.json_obj('APIInfo.version', options))
File "/usr/local/lib/python2.7/dist-packages/pyzabbix/__init__.py", line 273, in do_request
raise ZabbixAPIException(msg, jobj['error']['code'])
pyzabbix.ZabbixAPIException: ('Error -32602: Invalid params., No API access while sending {"params": {}, "jsonrpc": "2.0", "method": "APIInfo.version", "auth": "5322d682ab6c1b415fb064a77320f67f", "id": 6}', -32602)