2. Агент

Обзор

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

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

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

На узле сети можно запустить несколько экземпляров агента.

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

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

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

Тип проверки агента настраивается путем выбора соответствующего типа элемента данных. Агент Zabbix обрабатывает элементы данных типа Zabbix agent или Zabbix agent (active).

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

Список поддерживаемых платформ приведён на странице Требования.

Агент в системах Unix-подобного типа

Агент Zabbix в системах Unix-подобного типа запускается на узле сети, который находится под мониторингом.

Установка

Агент Zabbix можно установить в системах на базе Linux одним из следующих способов:

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

Предварительно скомпилированные двоичные файлы агента Zabbix доступны для загрузки для macOS, IBM AIX, FreeBSD, OpenBSD и Solaris. Устаревшие двоичные файлы, совместимые с текущей версией сервера/прокси Zabbix, доступны для NetBSD и HP-UX.

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

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

systemctl start zabbix-agent

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

/etc/init.d/zabbix-agent start

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

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

Вы можете запустить агент Zabbix, найдя исполняемый файл zabbix_agentd и запустив его напрямую; например:

zabbix_agentd

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

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

Установка

Агент Zabbix можно установить в Windows одним из следующих способов:

Дополнительные сведения об установке агента Zabbix (из ZIP-архива) в качестве службы Windows см. на странице Агент Zabbix в Microsoft Windows.

Параметры

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

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

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

  • Вывод всех встроенных элементов данных агента со значениями.
  • Проверка пользовательского параметра с ключом 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
Управление во время работы

С помощью параметров управления во время работы можно изменить уровень журналирования процессов агента.

Option Description Target
log_level_increase[=<target>] Увеличить уровень журналирования.
Если цель не указана, это затронет все процессы.
Цель можно указать как:
тип процесса - все процессы указанного типа (например, listener)
См. все типы процессов агента.
тип процесса,N - тип процесса и номер (например, listener,3)
pid - идентификатор процесса (1 to 65535). Для больших значений указывайте цель как 'тип процесса,N'.
log_level_decrease[=<target>] Уменьшить уровень журналирования.
Если цель не указана, это затронет все процессы.
userparameter_reload Перезагрузить значения параметров UserParameter и Include из текущего файла конфигурации.

Примеры:

  • Увеличение уровня журналирования всех процессов
  • Увеличение уровня журналирования третьего процесса listener
  • Увеличение уровня журналирования процесса с PID 1234
  • Уменьшение уровня журналирования всех процессов active checks
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 предназначен для работы от имени пользователя, не являющегося root. Он будет запускаться от имени того пользователя, не являющегося root, от имени которого был запущен. Таким образом, вы можете запускать агент от имени любого пользователя, не являющегося root, без каких-либо проблем.

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

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

Путь по умолчанию к файлу конфигурации:

  • В UNIX по умолчанию используется /usr/local/etc/zabbix_agentd.conf или путь, заданный переменными на этапе компиляции --sysconfdir или --prefix.
  • В Windows по умолчанию используется C:\\Program Files\\Zabbix Agent\\zabbix_agentd.conf.

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

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

Локаль

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

Код выхода

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