Rejestrowanie debugowania

Aby rozwiązywać problemy podczas pracy z Zabbix API, zbierania danych z Zabbix agent lub wysyłania danych do Zabbix serwer lub proxy, można włączyć rejestrowanie debugowania.

Biblioteka zabbix_utils używa standardowego modułu logging języka Python.

Aby wyświetlać szczegółowe komunikaty debugowania z biblioteki:

  1. Zaimportuj do skryptu moduł logging języka Python.
  2. Skonfiguruj system rejestrowania tak, aby wyprowadzał komunikaty w czytelnym formacie, i ustaw poziom rejestrowania na DEBUG.
import logging
from zabbix_utils import Getter

logging.basicConfig(
    format=u'[%(asctime)s] %(levelname)s %(message)s',
    level=logging.DEBUG
)

agent = Getter(host='127.0.0.1', port=10050)
resp = agent.get('system.uname')

print(resp.value)

Po włączeniu rejestrowania debugowania wyświetlane są szczegółowe informacje o żądaniach i odpowiedziach, na przykład:

[2023-10-01 12:00:01,587] DEBUG Content of the packet: b'ZBXD\x01\x0c\x00\x00\x00\x00\x00\x00\x00system.uname'
[2023-10-01 12:00:01,722] DEBUG Zabbix response header: b'ZBXD\x01C\x00\x00\x00C\x00\x00\x00'
[2023-10-01 12:00:01,723] DEBUG Zabbix response body: Linux test_server 5.15.0-3.60.5.1.el9uek.x86_64
[2023-10-01 12:00:01,724] DEBUG Response from [127.0.0.1:10050]: Linux test_server 5.15.0-3.60.5.1.el9uek.x86_64
Linux test_server 5.15.0-3.60.5.1.el9uek.x86_64