2. Агент
Обзор
Zabbix агенты разворачиваются на наблюдаемых целях для активного мониторинга локальных ресурсов и приложений (статистика жёстких дисков, памяти, процессоров и т.д.).
Агент локально собирает оперативную информацию и отправляет данные Zabbix серверу для дальнейшей обработки. В случае проблем (таких как отсутствие свободного места на жёстком диске или аварийного завершения процесса сервиса), Zabbix сервер может быстро уведомить администраторов конкретного сервера, сообщившего об ошибке.
Zabbix агенты чрезвычайно эффективны, так как для сбора статистической информации используют родные системные вызовы.
Пассивные и активные проверки
Zabbix агенты могут выполнять пассивные и активные проверки.
В случае пассивной проверки агент отвечает на запрос данных. Zabbix сервер (или прокси) запрашивает данные, например, загрузку CPU, и Zabbix агент возвращает результат.
Активные проверки требуют более сложной обработки. Агент сначала получает список элементов данных для независимой обработки от Zabbix сервера. В дальнейшем он будет периодически отправлять новые значения серверу.
Выбор между пассивной и активной проверкой осуществляется при выборе соответствующего типа элемента данных. Zabbix агент обрабатывает элементы данных типов «Zabbix агент» и «Zabbix агент (активный)».
Поддерживаемые платформы
Zabbix агент поддерживается на следующих платформах:
- Windows (все версии для настольных компьютеров и серверов, начиная с XP)
- Linux (также доступно в виде дистрибутивных пакетов)
- MacOS
- IBM AIX
- FreeBSD
- OpenBSD
- Solaris
Также возможно загрузить прежние версии бинарных файлов агентов Zabbix для NetBSD и HP-UX, и они совместимы с текущими версиями Zabbix сервера / прокси.
Агент на UNIX системах
Zabbix агент на UNIX-подобных системах запускается на хостах, которые необходимо мониторить.
Установка
Смотрите раздел установки из пакетов для получения более детальных сведений по установке Zabbix агента из пакетов.
В качестве альтернативы вы можете обратиться к инструкциям по ручной установке , если вы не хотите использовать пакеты.
Как правило, 32-битный Zabbix агент будет работать и на 64-битных системах, но в отдельных случаях возможно возникновение ошибок.
Если установлен из пакета
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_agentd и выполните:
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 функциями). Для уникальности имён экземпляров служб, каждое имя службы будет включать значение Hostname из указанного файла конфигурации. |
| Только Windows агент (функции) | |
| -i --install | Установка Zabbix агента как службы |
| -d --uninstall | Удаление службы Windows Zabbix агента |
| -s --start | Запуск службы Windows Zabbix агента |
| -x --stop | Остановка службы Windows Zabbix агента |
Отдельные примеры использования параметров командной строки:
- отображение всех встроенных элементов данных с их значениями
- тестирование пользовательского параметра с ключом «mysql.ping», заданном в указанном файле конфигурации
- установка службы «Zabbix Agent» в Windows с использованием пути по умолчанию до файла конфигурации c:\zabbix_agentd.conf
- установка службы "Zabbix Agent [Hostname]" в Windows с использованием файла конфигурации zabbix_agentd.conf, размещённого в той же самой папке, что и бинарный файл агента, и определение уникального имени службы с использованием значения Hostname из файла конфигурации
<!-- -->
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
Управление работой
Используя опции административных функций, вы можете изменить уровень журналирования у процессов агента.
| Опция | Описание | Цель |
|---|---|---|
| log_level_increase[=<цель>] | Увеличение уровня журналирования. Действует на все процессы, если цель не указана. |
Цель можно указать с помощью: тип процесса — все процессы указанного типа (например, listener) Смотрите весь список типов процессов агента. тип процесса,N — тип процесса и номер (например, listener,3) pid — идентификатора процесса (от 1 до 65535). В случае значений PID больше 65535 укажите цель в виде 'тип процесса,N'. |
| log_level_decrease[=<цель>] | Уменьшение уровня журналирования. Действует на все процессы, если цель не указана. |
|
| userparameter_reload | Загрузка заново значений параметров UserParameter и Include из текущего файла конфигурации. |
Примеры:
- увеличение уровня журналирования всем процессам
- увеличение уровня журналирования у третьего процесса listener
- увеличение уровня журналирования у процесса с PID 1234
- уменьшение уровня журналирования по всем процессам active check
<!-- -->
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 6.0.43, файл журнала агента создаётся с правами на чтение и запись только для владельца файла. Кроме того, файл доступен для чтения группе владельца. Все остальные права запрещены.
Пользователь процесса
Zabbix агент на UNIX системах спроектирован для запуска от непривилегированного пользователя (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 в случае отказа/аварийного завершения процесса.