2. Агент

Обзор

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

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

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

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

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

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

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

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

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

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

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

Также возможно загрузить прежние версии бинарных файлов агентов Zabbix для 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:\zabbix_agentd.conf
-p --print Вывод известных элементов данных и выход.
Примечание: Чтобы также получить результаты пользовательских параметров, вы можете указать файл конфигурации (если он находится вне папки, заданной по умолчанию).
-t --test <ключ элемента данных> Тестирование указанного элемента данных и выход.
Примечание: Чтобы также получить результаты пользовательских параметров, вы можете указать файл конфигурации (если он находится вне папки, заданной по умолчанию).
-h --help Вывод справочной информации
-V --version Вывод номера версии
Только UNIX агент
-R --runtime-control <опция> Выполнение административных функций. Смотрите управление работой.
Только Windows агент
-m --multiple-agents Использование нескольких экземпляров агента (с -i,-d,-s,-x функциями).
Для уникальности имён экземпляров служб, каждое имя службы будет включать значение Hostname из указанного файла конфигурации.
Только Windows агент (функции)
-i --install Установка Zabbix агента как службы
-d --uninstall Удаление службы Windows Zabbix агента
-s --start Запуск службы Windows Zabbix агента
-x --stop Остановка службы Windows Zabbix агента

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

  • отображение всех встроенных элементов данных с их значениями
  • тестирование пользовательского параметра с ключом «mysql.ping», заданном в указанном файле конфигурации
  • установка службы «Zabbix Agent» в Windows с использованием пути по умолчанию до файла конфигурации c:\zabbix_agentd.conf
  • установка службы "Zabbix Agent [Hostname]" в Windows с использованием файла конфигурации zabbix_agentd.conf, размещённого в той же самой папке, что и бинарный файл агента, и определение уникального имени службы с использованием значения Hostname из файла конфигурации
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
Управление работой

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

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

Примеры:

  • увеличение уровня журналирования всем процессам
  • увеличение уровня журналирования у третьего процесса listener
  • увеличение уровня журналирования у процесса с PID 1234
  • уменьшение уровня журналирования по всем процессам active check
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_agentd и Windows агента.

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

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

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

До версии Zabbix 2.2, Zabbix агент возвращал 0 в случае успешного завершения процесса и код 255 в случае ошибки. Начиная с версии Zabbix 2.2 и выше, Zabbix агент возвращает код 0 в случае корректного завершения процесса и код 1 в случае отказа/аварийного завершения процесса.