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

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

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 7.4.6, файл журнала агента создается с правами чтения и записи только для владельца файла. Кроме того, файл доступен для чтения группе владельца. Все остальные разрешения запрещены.

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

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

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

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

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

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

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

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

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

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

Код выхода

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