Агент

Обзор

Агент 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 можно использовать следующие параметры командной строки:

Параметр Описание
Агент 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 для Windows с использованием пути по умолчанию к файлу конфигурации.
  • Установка службы агента Zabbix [Hostname] для Windows с использованием файла конфигурации, расположенного в той же папке, что и исполняемый файл агента, и создание уникального имени службы путем добавления значения Hostname из файла конфигурации.
  • Изменение типа запуска установленной службы агента Zabbix для Windows с использованием файла конфигурации, расположенного в той же папке, что и исполняемый файл агента.
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[=<target>] Повысить уровень журнала.
Если цель не указана, затрагиваются все процессы.
Цель можно указать следующим образом:
тип процесса — все процессы указанного типа (например, listener)
См. все типы процессов агента.
тип процесса,N — тип и номер процесса (например, listener,3)
pid — идентификатор процесса (от 1 до 65535). Для больших значений укажите цель в формате «тип процесса,N».
log_level_decrease[=<target>] Понизить уровень журнала.
Если цель не указана, затрагиваются все процессы.
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 предназначен для запуска от имени пользователя, не являющегося пользователем root. Он будет работать от имени того пользователя, не являющегося пользователем root, от имени которого был запущен. Таким образом, вы можете запускать агент от имени любого пользователя, не являющегося пользователем root, без каких-либо проблем.

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

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

Путь к файлу конфигурации по умолчанию зависит от операционной системы и способа установки Zabbix:

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

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

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

Локаль

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

Код выхода

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