Zabbix: настройка источника

Данное руководство описывает процесс настройки сбора и отправки событий Zabbix в R-Vision SIEM.

Предварительные требования

Перед настройкой пересылки событий в R-Vision SIEM убедитесь, что выполняются следующие условия:

  • Обеспечен сетевой доступ к базе данных.

  • Создана учетная запись с правами администратора на доступ к базе данных Zabbix в системе управления базами данных (СУБД).

Настройка Zabbix

Описание подсистемы журналирования

Zabbix записывает свои события в базу данных Zabbix вашей СУБД.

База данных Zabbix создается автоматически при установке сервера Zabbix версии 6.0 и выше. Если вы используете более старую версию, обратитесь к официальной документации Zabbix для первичной настройки.

Названия таблиц в вашей СУБД могут отличаться от названий таблиц, приведенных в данной инструкции. Если вы не можете найти необходимые таблицы или получаете ошибки существования таблиц, обратитесь к разделу официальной документации Zabbix, соответствующему вашей версии сервиса, для поиска соответствий.

Настройка журналирования

Создание сервисной учетной записи

Для осуществления сбора логов из базы данных требуется подключиться к ней с использованием специализированной учетной записи. Данная учетная запись предназначена для обеспечения доступа к базе данных автоматическим сервисом.

Чтобы создать сервисную учетную запись, подключитесь к СУБД с правами администратора. Для этого выполните следующие шаги на сервере с установленной СУБД:

В качестве примера используется СУБД PostgreSQL.
  1. Выполните следующую команду от имени пользователя с правами администратора:

    sudo -u <admin> psql

    Где <admin> — название учетной записи с правами администратора.

  2. Создайте сервисную учетную запись, выполнив следующие команды:

    CREATE USER "<new_user>";
    ALTER ROLE <new_user> WITH PASSWORD '<passw0rd>';

    Где <new_user> — имя созданной учетной записи, <passw0rd> — пароль для созданной учетной записи.

  3. Предоставьте права на подключение к базе данных и чтение таблицы. К правам пользователя предъявляются следующие требования:

    • возможность подключения к базе данных Zabbix;

    • возможность выполнения SELECT-запросов к таблицам audit и alerts базы данных Zabbix.

      Пример запроса для создания пользователя в PostgreSQL 14.0:

      GRANT CONNECT ON DATABASE Zabbix TO <new_user>;
      GRANT USAGE ON SCHEMA public TO <new_user>;
      GRANT SELECT ON ALL TABLES IN SCHEMA public TO <new_user>;

      Вы также можете ограничить доступ учетной записи к таблицам, предоставив SELECT-привилегии только для таблиц auditlog, alerts, events, functions и interface.

Включение сбора событий аудита

Для настройки логирования событий аудита в Zabbix выполните следующие шаги:

  1. Подключитесь к веб-интерфейсу Zabbix.

  2. Войдите в систему с помощью учетной записи, имеющей права администратора Zabbix.

  3. Перейдите по пути Администрирование → Общие → Журнал аудита.

    zabbix audit configuration

    Если вы используете английскую версию Zabbix, перейдите в раздел Administration → General → Audit Log.
  4. Установите флажок Включить журналирование аудита.

    В английской версии Zabbix установите флажок Enable Audit Log.

    zabbix enable audit configuration

После настройки журналирования события аудита начнут записываться в вашу CУБД.

Настройка в R-Vision SIEM

Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте секрет со строкой подключения. Для этого:

    1. Перейдите в раздел Ресурсы → Секреты.

    2. Нажмите на кнопку Создать (plus).

    3. В раскрывшемся окне создания секрета заполните поля:

      • Название: введите название секрета.

      • Описание (опционально): опишите, для чего будет использоваться секрет.

      • Тип секрета: выберите вариант Строка подключения.

      • Строка подключения: введите строку вида:

        jdbc:postgresql://<ip-address>:<port>/zabbix?user=<svc_rvision_siem>&password=<passw0rd>

        Где <ip-address> — IP-адрес сервера СУБД Zabbix, <port> — порт подключения (по умолчанию 5432), <svc_rvision_siem> — имя учетной записи СУБД Zabbix, <passw0rd> — пароль пользователя.

        zabbix llc create secret connection string

    4. Нажмите на кнопку Создать.

  2. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  3. Добавьте на конвейер первый элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Database.

    • Драйвер базы данных: выберите вариант PostgreSQL.

    • Адрес подключения: выберите секрет, созданный ранее.

    • SQL-запрос: введите следующий запрос для сбора логов из таблицы auditlog:

      SELECT 'zabbix_audit' AS appname,
      auditid,
      username,
      clock,
      ip,
      action,
      resourcename,
      resourcetype,
      details FROM auditlog WHERE clock > ?::integer ORDER BY clock ASC;
    • Поле идентификатора: введите ключ clock со значением текущего времени в формате Unix time.

      Пример указания параметра Поле идентификатора:

      zabbix clock identificator

  4. Добавьте на конвейер второй элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Database.

    • Драйвер базы данных: выберите вариант PostgreSQL.

    • Адрес подключения: выберите секрет, созданный ранее.

    • SQL-запрос: введите следующий запрос для сбора логов из таблицы alerts:

      SELECT 'zabbix_alerts' AS appname,
      alertid,
      actionid,
      eventid,
      userid,
      clock,
      subject,
      status,
      message,
      retries FROM alerts WHERE clock > ?::integer ORDER BY clock ASC;
    • Поле идентификатора: введите ключ clock со значением текущего времени в формате Unix time.

  5. Добавьте на конвейер третий элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Database.

    • Драйвер базы данных: выберите вариант PostgreSQL.

    • Адрес подключения: выберите секрет, созданный ранее.

    • SQL-запрос: введите следующий запрос для сбора логов из таблицы triggers:

      SELECT
          'zabbix_triggers' AS appname,
      
          e.eventid AS event_id,
          e.objectid AS trigger_id,
      
          e.clock AS event_timestamp,
          to_timestamp(e.clock) AS event_datetime,
      
          e.value AS event_value,
      
          CASE
              WHEN e.value = 0 THEN 'OK'
              WHEN e.value = 1 THEN 'PROBLEM'
              ELSE 'UNKNOWN'
          END AS event_status,
      
          e.name AS event_name,
          e.acknowledged,
      
          t.description AS trigger_name,
          t.priority AS trigger_severity,
      
          f.itemid AS item_id,
          i.name AS item_name,
          i.key_ AS item_key,
      
          h.hostid AS host_id,
          h.host,
          h.name AS host_name,
      
          hi.ip AS host_ip,
      
          (
              SELECT al.ip
              FROM auditlog al
              GROUP BY al.ip
              ORDER BY COUNT(*) DESC
              LIMIT 1
          ) AS zabbix_ip
      
      FROM events e
      
      JOIN triggers t
          ON t.triggerid = e.objectid
      
      LEFT JOIN LATERAL (
          SELECT
              f1.itemid
          FROM functions f1
          WHERE f1.triggerid = t.triggerid
          ORDER BY f1.itemid ASC
          LIMIT 1
      ) f
          ON TRUE
      
      LEFT JOIN items i
          ON i.itemid = f.itemid
      
      LEFT JOIN hosts h
          ON h.hostid = i.hostid
      
      LEFT JOIN LATERAL (
          SELECT
              intf.ip
          FROM interface intf
          WHERE intf.hostid = h.hostid
            AND intf.main = 1
          ORDER BY intf.interfaceid
          LIMIT 1
      ) hi
          ON TRUE
      
      WHERE e.source = 0
        AND e.object = 0
        AND e.eventid > CAST(? AS BIGINT)
      
      ORDER BY e.eventid ASC
      
      LIMIT 100;
    • Поле идентификатора: введите ключ event_id со значением 0.

  6. Добавьте на конвейер элемент Нормализатор с правилом Zabbix (идентификатор правила: RV-N-260).

  7. Соедините нормализатор с точками входа.

  8. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  9. Соедините конечную точку с нормализатором.

  10. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

zabbix llc pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Zabbix.

Найти события Zabbix в хранилище можно по следующему фильтру:

device_product = "zabbix"

zabbix storage filter

Последнее обновление: 2026-10-16

Была ли полезна эта страница?

Обратная связь