2. Агент
Обзор
Агент Zabbix разворачивается на целевом объекте мониторинга для активного мониторинга локальных ресурсов и приложений (жесткие диски, память, статистика процессора и т. д.).
Агент собирает рабочую информацию локально и передает данные на сервер Zabbix для дальнейшей обработки. В случае сбоев (например, при переполнении жесткого диска или аварийном завершении процесса службы) сервер Zabbix может активно оповещать администраторов конкретной машины, сообщившей о сбое.
Агенты Zabbix отличаются высокой эффективностью благодаря использованию собственных системных вызовов для сбора статистической информации.
Пассивные и активные проверки
Агенты Zabbix могут выполнять пассивные и активные проверки:
- Пассивные проверки — агент Zabbix отвечает на запрос от сервера Zabbix (или прокси). Например, сервер запрашивает данные (например, загрузку CPU), а агент возвращает результат.
- Активные проверки — агент Zabbix собирает и отправляет данные, не дожидаясь запроса от сервера Zabbix (или прокси). Сначала он получает с сервера список элементов мониторинга (загрузка CPU, доступная память и т. д.), затем собирает необходимые данные и периодически отправляет ему новые значения.
Тип проверки агента настраивается выбором соответствующего типа элемента данных. Агент Zabbix обрабатывает элементы данных типа «Агент Zabbix» или «Агент Zabbix (активный)».
Поддерживаемые платформы
Список поддерживаемых платформ приведён на странице Требования.
Агент в UNIX-подобных системах
Агент Zabbix в UNIX-подобных системах запускается на контролируемом узле сети.
Установка
Агент Zabbix можно установить в системах на базе Linux одним из следующих способов:
- Пакеты Zabbix — выберите компонент Agent (после выбора версии Zabbix, дистрибутива ОС и версии ОС) и следуйте приведенным инструкциям.
- Исходный код Zabbix — загрузите исходные файлы и скомпилируйте агент Zabbix, настроив исходный код с параметром
--enable-agent.
В целом, 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 — загрузите пакет установщика MSI агента Zabbix и следуйте инструкциям на странице Установка агента Windows из MSI.
- Исходный код Zabbix — загрузите исходные файлы и следуйте инструкциям на странице Сборка агента Zabbix в Windows.
Дополнительные сведения об установке агента Zabbix (из ZIP-архива) как службы Windows см. на странице Агент Zabbix в Microsoft Windows.
Параметры
Можно запускать несколько экземпляров агента на узле сети. Один экземпляр может использовать файл конфигурации по умолчанию или файл конфигурации, указанный в командной строке. При использовании нескольких экземпляров каждый экземпляр агента должен иметь собственный файл конфигурации (один из экземпляров может использовать файл конфигурации по умолчанию).
Следующие параметры командной строки можно использовать с Zabbix агентом:
| Parameter | Description |
|---|---|
| Агент для UNIX и Windows | |
| -c --config <config-file> | Путь к файлу конфигурации. Этот параметр можно использовать для указания файла конфигурации, отличного от используемого по умолчанию. В UNIX по умолчанию используется /usr/local/etc/zabbix_agentd.conf или путь, заданный переменными compile-time --sysconfdir или --prefix В Windows по умолчанию используется C:\Program Files\Zabbix Agent\zabbix_agentd.conf |
| -f --foreground | Запустить Zabbix агент на переднем плане (по умолчанию: true). |
| -p --print | Вывести известные элементы данных и завершить работу. Примечание: чтобы также возвращались результаты пользовательских параметров, необходимо указать файл конфигурации (если он не находится в расположении по умолчанию). |
| -t --test <item key> | Проверить указанный элемент данных и завершить работу. Примечание: чтобы также возвращались результаты пользовательских параметров, необходимо указать файл конфигурации (если он не находится в расположении по умолчанию). |
| -T --test-config | Проверить файл конфигурации и завершить работу. |
| -h --help | Показать справочную информацию. |
| -V --version | Показать номер версии. |
| Только UNIX агент | |
| -R --runtime-control <option> | Выполнить административные функции. См. runtime control. |
| Только 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
Управление во время выполнения
С помощью параметров управления во время выполнения вы можете изменить уровень журналирования процессов агента.
| Параметр | Описание | Цель |
|---|---|---|
| log_level_increase[=<target>] | Увеличить уровень журналирования. Если цель не указана, будут затронуты все процессы. |
Цель может быть указана как: тип процесса — все процессы указанного типа (например, listener) См. все типы процессов агента. тип процесса,N — тип процесса и номер (например, listener,3) pid — идентификатор процесса (от 1 до 65535). Для больших значений укажите цель как 'process-type,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 агент см. в параметрах файла конфигурации для zabbix_agentd или агент для Windows.
Локаль
Обратите внимание, что агенту требуется локаль UTF-8, чтобы некоторые текстовые элементы данных агента могли возвращать ожидаемое содержимое. В большинстве современных Unix-подобных систем локаль UTF-8 используется по умолчанию, однако существуют системы, где её необходимо задать явно.
Код завершения процесса
Zabbix агент возвращет 0 в случае корректного завершения процесса и 1 в случае отказа/аварийного завершения процесса.