2. Агент

Обзор

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

Агент локально собирает оперативную информацию и отправляет данные Zabbix серверу для дальнейшей обработки. В случае проблем (таких как отсутствие свободного места на жёстком диске или аварийного завершения процесса сервиса), Zabbix сервер может быстро уведомить администраторов конкретного сервера, сообщившего об ошибке.

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

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

Zabbix агенты могут выполнять пассивные и активные проверки.

В случае пассивной проверки агент отвечает на запрос данных. Zabbix сервер (или прокси) запрашивает данные, например, загрузку CPU, и Zabbix агент возвращает результат.

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

Выбор между пассивной и активной проверкой осуществляется при выборе соответствующего типа элемента данных. Zabbix агент обрабатывает элементы данных типов «Zabbix агент» и «Zabbix агент (активный)».

Поддерживаемые платформы

Предварительно скомпилированные агенты Zabbix доступны для следующих платформ:

  • Windows (все версии для настольных компьютеров и серверов, начиная с XP)
  • Linux (также доступно в виде дистрибутивных пакетов)
  • Mac OS
  • IBM AIX
  • FreeBSD
  • OpenBSD
  • Solaris

Также можно загрузить устаревшие бинарные файлы агента для NetBSD и HP-UX, и они совместимы с текущей версией Zabbix сервера/прокси.

Агент на UNIX системах

Zabbix агент на UNIX-подобных системах запускается на хостах, которые необходимо мониторить.

Установка

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

В качестве альтернативы, если вы не хотите использовать пакеты, то вы можете обратиться к инструкциям по ручной установке.

В целом 32-битный Zabbix агент будет работать и на 64-битных системах, но в отдельных случаях возможно возникновение ошибок.

Если установлен из пакета

Zabbix агент работает как демон. Агента можно запустить, выполнив:

systemctl start zabbix-agent

Эта команда будет работать на большинстве систем GNU/Linux. На других системах вам, возможно, потребуется выполнить:

/etc/init.d/zabbix-agent start

Аналогично, для остановки/перезапуска/просмотра состояния, используйте следующие команды:

systemctl stop zabbix-agent
       systemctl restart zabbix-agent
       systemctl status zabbix-agent
Запуск вручную

Если приведённые ранее команды не работают, вам необходимо запустить агента вручную. Найдите путь к бинарному файлу zabbix_agentd и выполните:

zabbix_agentd

Агент на Windows системах

Zabbix агент на Windows работает как служба Windows.

Подготовка

Zabbix агент распространяется в виде zip архива. После загрузки архива вам необходимо распаковать его. Выберите любую папку для сохранения Zabbix агента и файла конфигурации, например:

C:\zabbix

Скопируйте файлы bin\zabbix_agentd.exe и conf\zabbix_agentd.conf в c:\zabbix.

Отредактируйте файл c:\zabbix\zabbix_agentd.conf в соответствии с вашими требованиями, убедившись, что указан корректный параметр «Hostname».

Установка

После этого используйте следующую команду для установки Zabbix агента в качестве службы Windows:

C:\> c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -i

Теперь у вас должна появиться возможность настройки службы «Zabbix agent» так же как и любой другой службы Windows.

Смотрите более подробную информацию по установке и запуску Zabbix агента на Windows.

Опции

Имеется возможность запуска нескольких экземпляров агента на одном узле сети. Отдельный экземпляр может использовать файл конфигурации по умолчанию или же файл конфигурации, указанный в командной строке. В случае нескольких экземпляров каждый экземпляр агента должен иметь свой собственный файл конфигурации (один из них может использовать файл конфигурации по умолчанию).

Следующие параметры командной строки могут быть использованы с Zabbix агентом:

Параметр Описание
UNIX и Windows агенты
-c --config <файл-конфигурации> Путь к файлу конфигурации.
Вы можете использовать данную опцию, чтобы указать файл конфигурации, размещённый в папке, отличной от заданной по умолчанию.
В UNIX путь по умолчанию /usr/local/etc/zabbix_agentd.conf или как задано во время компиляции переменными --sysconfdir или --prefix
В Windows путь по умолчанию C:\Program Files\Zabbix Agent\zabbix_agentd.conf
-f --foreground Запуск Zabbix агента без перехода в фоновый режим (по умолчанию: true).
-p --print Вывод известных элементов данных и выход.
Обратите внимание: Чтобы также получить результаты пользовательских параметров, вы должны указать файл конфигурации (если он отличается от пути по умолчанию).
-t --test <ключ элемента данных> Тестирование указанного элемента данных и выход.
Обратите внимание: Чтобы также получить результаты пользовательских параметров, вы должны указать файл конфигурации (если он отличается от пути по умолчанию).
-T --test-config Проверка файла конфигурации и выход.
-h --help Вывод справочной информации.
-V --version Вывод номера версии.
Только UNIX агент
-R --runtime-control <опция> Выполнение административных функций. Смотрите управление работой.
Только Windows агент
-m --multiple-agents Использование нескольких экземпляров агента (с опциями -i, -d, -s, -x).
Для уникальности имён экземпляров служб, каждое имя службы будет включать значение Hostname из указанного файла конфигурации.
-S --startup-type <значение> Тип запуска службы Windows агента Zabbix. Допустимые значения:
automatic(по умолчанию) автоматический запуск службы при старте Windows;
delayed — задержка запуска службы до завершения запуска автоматически запускаемых служб (доступно в Windows Server 2008/Vista и более поздних версиях);
manual — ручной запуск службы (пользователем или приложением);
disabled — отключение службы, чтобы она не могла быть запущена пользователем или приложением.
Эту опцию можно использовать совместно с опцией -i или отдельно для модификации типа запуска уже установленной службы.
-i --install Установка Zabbix агента как службы Windows
-d --uninstall Удаление службы Windows Zabbix агента
-s --start Запуск службы Windows Zabbix агента
-x --stop Остановка службы Windows Zabbix агента

Отдельные примеры использования параметров командной строки:

  • отображение всех встроенных элементов данных с их значениями
  • тестирование пользовательского параметра с ключом «mysql.ping», заданном в указанном файле конфигурации
  • установка службы «Zabbix Agent» в Windows с использованием пути по умолчанию до файла конфигурации C:\Program Files\Zabbix Agent\zabbix_agentd.conf
  • установка службы «Zabbix Agent [Hostname]» в Windows с использованием файла конфигурации zabbix_agentd.conf, размещённого в той же самой папке, что и бинарный файл агента, и определение уникального имени службы с использованием значения Hostname из файла конфигурации
  • модификация типа запуска установленной службы «Zabbix Agent» в Windows с использованием файла конфигурации zabbix_agentd.conf, расположенного в той же папке, что и бинарный файл агента
zabbix_agentd --print
       zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
       zabbix_agentd.exe -i
       zabbix_agentd.exe -i -m -c zabbix_agentd.conf
       zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
Управление работой

Используя опции административных функций, вы можете изменить уровень журналирования у процессов агента.

Опция Описание Цель
log_level_increase[=<цель>] Увеличение уровня журналирования.
Действует на все процессы, если цель не указана.
Цель можно указать как:
тип процесса — все процессы указанного типа (например: listener)
Смотрите весь список типов процессов агента.
тип процесса,N — тип процесса и номер (например: listener,3)
pid — идентификатора процесса (от 1 до 65535). В случае значений PID больше 65535 укажите цель в виде «тип процесса,N».
log_level_decrease[=<цель>] Уменьшение уровня журналирования.
Действует на все процессы, если цель не указана.
userparameter_reload Загрузка заново значений параметров UserParameter и Include из текущего файла конфигурации.

Примеры:

  • увеличение уровня журналирования всех процессов
  • увеличение уровня журналирования третьего процесса listener
  • увеличение уровня журналирования процесса с PID 1234
  • уменьшение уровня журналирования для всех процессов активных проверок
zabbix_agentd -R log_level_increase
       zabbix_agentd -R log_level_increase=listener,3
       zabbix_agentd -R log_level_increase=1234
       zabbix_agentd -R log_level_decrease="active checks"

Выполнение административных функций не поддерживается в OpenBSD, NetBSD и Windows.

Типы процессов агента

  • active checks — процесс для выполнения активных проверок
  • collector — процесс для сбора данных
  • listener — процесс, ожидающий и выполняющий пассивные проверки

Можно воспользоваться файлом журнала агента для выявления этих типов процессов.

Пользователь процесса

Zabbix агент на UNIX системах спроектирован для запуска от непривилегированного пользователя (non-root). Он будет работать от любого непривилегированного пользователя, от которого был запущен. Таким образом, вы можете запускать агент от имени любого непривилегированного пользователя, без каких либо последствий.

Если вы попытаетесь запустить агента от «root», он сразу переключится на пользователя «zabbix», который должен присутствовать в вашей системе. Единственный способ запустить агента от пользователя «root» — отредактировать параметр «AllowRoot» в файле конфигурации агента.

Файл конфигурации

Для получения подробной информации о настройке Zabbix агента смотрите параметры файла конфигурации для zabbix_agentd или Windows агента.

Региональные настройки (локаль)

Обратите внимание что агенту требуется локаль UTF-8, чтобы некоторые текстовые элементы данных агента смогли вернуть корректное содержимое. Большинство современных Unix-подобных систем имеют локаль UTF-8 установленной по умолчанию; тем не менее, есть некоторые системы, где это необходимо задать вручную.

Код завершения процесса

Zabbix агент возвращет 0 в случае корректного завершения процесса и 1 в случае отказа/аварийного завершения процесса.