Пассивные и активные проверки Агентов

Этот раздел подробно описывает пассивные и активные проверки, которые выполняются Агентом.

Для взаимодействия с Агентом Подсистема использует протокол на основе JSON.

Пассивные проверки

Пассивная проверка – это простой запрос данных. Сервер или Прокси запрашивает какие-либо данные (например, загрузку CPU), и Агент отправляет результат обратно Серверу.

За определением длины заголовка и данных следует обратиться к подробностям протокола (см. п.Б.1).

  • Запрос Сервера:
<ключ элемента данных>

Ответ Агента:

<ДАННЫЕ>[\0<ОШИБКА>]

где часть в квадратных скобках опциональна и отправляется только по неподдерживаемым элементам данных.

Например, для поддерживаемых элементов данных:

  1. сервер открывает TCP-соединение;
  2. сервер отправляет <ЗАГОЛОВОК><ДЛИНАДАННЫХ>agent.ping;
  3. Агент читает запрос и отвечает <ЗАГОЛОВОК><ДЛИНАДАННЫХ>1;
  4. сервер обрабатывает данные, чтобы извлечь значение "1";
  5. TCP-соединение закрывается.

Для неподдерживаемых элементов данных:

  1. сервер открывает TCP-соединение;
  2. сервер отправляет <ЗАГОЛОВОК><ДЛИНАДАННЫХ>vfs.fs.size/nono;
  3. Агент читает запрос и отвечает <ЗАГОЛОВОК><ДЛИНАДАННЫХ>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: 2 No such file or directory;
  4. сервер обрабатывает данные, меняет состояние элемента данных на неподдерживаемое с приведенным сообщением об ошибке;
  5. TCP-соединение закрывается.

Активные проверки

Активные проверки требуют более сложной обработки. Агент сначала должен получить с Сервера (или Серверов) список элементов данных для независимой обработки.

Серверы для получения активных проверок перечислены в параметре ServerActive файла конфигурации Агента. Частота запросов данных проверок настраивается параметром RefreshActiveChecks в этом же файле конфигурации. Если обновление активных проверок завершится с ошибкой, запрос повторится через 60 секунд (задано в коде).

Затем Агент периодически отправляет новые значения на Сервер(ы).

Если Агент находится за брандмауэром, можно рассмотреть возможность использования исключительно активных проверок, т.к. в этом случае не понадобится менять настройки брандмауэра для разрешения начальных входящих соединений.