3 Агент

Обзор

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

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

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

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

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

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

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

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

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

Zabbix агент поддерживается на:

  • Linux
  • IBM AIX
  • FreeBSD
  • NetBSD
  • OpenBSD
  • HP-UX
  • Mac OS X
  • Solaris
  • Windows: все версии для рабочих станций и серверов начиная с 2000

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

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

Установка

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

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

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

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

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

shell> service zabbix-agent start

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

shell> /etc/init.d/zabbix-agent start

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

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

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

shell> 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 функциями).
Для отделения имени экземпляров служб, каждое имя службы будет в значении Hostvalue из указанного файла конфигурации.
Только для Windows агента (функции)
-i --install Установка Zabbix агента службой
-d --uninstall Удаление службы Zabbix Windows агента
-s --start Запуск службы Zabbix Windows агента
-x --stop Остановка службы Zabbix Windows агента

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

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

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

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

Обратите внимание, что допустимый диапазон PID изменения уровня журналирования одного процесса с 1 до 65535. На системах с PID > 65535 как вариантом решения можно воспользоваться опцией <тип процесса,N> для изменения уровня журналирования отдельных процессов.

Примеры:

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

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

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

Zabbix агент спроектирован для запуска от не привилегированного пользователя (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 в случае отказа/аварийного завершения процесса.