> Как организовать подключение к Zabbix (Python)

Уровень: senior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: Международный аэропорт Шереметьево

Стек: Python

> Пример ответа

Для организации подключения к Zabbix из Python-приложения используется официальный модуль py-zabbix. Ниже приведён пример настройки и выполнения базовых операций.

  1. Установка библиотеки:

    BASH
    pip install py-zabbix
  2. Подключение к Zabbix API:

    PYTHON
    from pyzabbix import ZabbixAPI
    # Параметры подключения
    ZABBIX_URL = "http://your-zabbix-server/api_jsonrpc.php"
    ZABBIX_USER = "Admin"
    ZABBIX_PASSWORD = "zabbix"
    # Создание сессии
    zapi = ZabbixAPI(ZABBIX_URL)
    zapi.login(ZABBIX_USER, ZABBIX_PASSWORD)
    # Проверка версии API
    print(f"Connected to Zabbix API version {zapi.api_version()}")
  3. Примеры запросов:

    • Получение списка хостов:
      PYTHON
      hosts = zapi.host.get(output=["hostid", "host"])
      for host in hosts:
      print(f"Host ID: {host['hostid']}, Name: {host['host']}")
    • Создание события (проблемы):
      PYTHON
      zapi.event.create(
      source=3, # Источник: внутреннее событие
      object=4, # Тип объекта: триггер
      objectid=12345, # ID триггера
      clock=int(time.time()),
      value=1 # 1 - проблема, 0 - восстановление
      )
  4. Обработка ошибок и завершение сессии:

    PYTHON
    try:
    # Ваш код работы с API
    pass
    except Exception as e:
    print(f"Ошибка подключения: {e}")
    finally:
    zapi.user.logout() # Явный выход из системы

Важные замечания:

  • Для работы требуется включённый Zabbix API (параметр Frontend -> API -> Enabled в конфигурации сервера).
  • Убедитесь, что пользователь имеет необходимые права доступа (например, роль Super admin для всех операций).
  • Для массовых запросов используйте параметр limit (например, host.get(limit=100)), чтобы избежать перегрузки сервера.

Данный подход обеспечивает надёжное взаимодействие с Zabbix через JSON-RPC протокол, поддерживая все основные методы API.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью