Агент Zabbix в IBM AIX

Обзор

Предварительно скомпилированные двоичные файлы агента Zabbix для IBM AIX доступны для скачивания в виде архива .tar.gz. На этой странице описывается установка агента из архива, его запуск вручную или с помощью System Resource Controller (SRC), запуск при загрузке системы и удаление из SRC.

Установка агента

Команда tar в AIX не поддерживает параметр -z, поэтому распакуйте архив с помощью gunzip. Используйте параметр -o команды tar, чтобы извлеченные файлы принадлежали пользователю, который их извлекает, а не числовым идентификаторам пользователя и группы, сохраненным в архиве. Например, чтобы разместить агент в /opt/zabbix (выполните от имени root; каталог /opt/zabbix еще не должен существовать):

gunzip -c zabbix_agent-7.4.7-aix-7.2-powerpc-openssl.tar.gz | tar -xof -
mv zabbix_agent-7.4.7-aix-7.2-powerpc-openssl /opt/zabbix

В архиве AIX двоичный файл агента находится в usr/sbin/, а файл конфигурации — в etc/zabbix/. Перед запуском агента при необходимости измените файл /opt/zabbix/etc/zabbix/zabbix_agentd.conf (как минимум параметры Server, ServerActive и Hostname).

Если агент запущен от имени root, он переключается на пользователя zabbix (или пользователя, указанного параметром User), если в файле конфигурации не задано AllowRoot=1. Этот пользователь должен существовать в системе; в противном случае агент не запускается. Если пользователь zabbix еще не существует, создайте его вместе с группой с таким же именем:

mkgroup zabbix
mkuser pgrp=zabbix login=false rlogin=false zabbix

Атрибуты login=false и rlogin=false не позволяют использовать учетную запись для входа в систему; агент по-прежнему может работать от имени этого пользователя.

Запуск агента вручную

Агент можно запустить вручную:

/opt/zabbix/usr/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix/zabbix_agentd.conf

Запуск агента с SRC

Регистрация агента

Агент также можно зарегистрировать в System Resource Controller (SRC). При запуске через SRC агент должен работать в режиме переднего плана (с параметром -f). В противном случае SRC потеряет контроль над процессом агента и не сможет его остановить. Например (выполните от имени пользователя root):

mkssys \
  -s zabbix_agentd \
  -p /opt/zabbix/usr/sbin/zabbix_agentd \
  -a "-c /opt/zabbix/etc/zabbix/zabbix_agentd.conf -f" \
  -u zabbix \
  -G tcpip \
  -S -n 15 -f 9 \
  -R

В этом примере:

  • -s задаёт имя подсистемы, используемое с командами SRC;
  • -p задаёт полный путь к двоичному файлу агента;
  • -a задаёт аргументы командной строки агента в виде одной строки в кавычках; SRC разделяет эту строку на отдельные аргументы при запуске агента (принимается только один параметр -a);
  • -u задаёт пользователя, от имени которого работает агент; имя пользователя преобразуется в числовой идентификатор пользователя при создании подсистемы, поэтому пользователь должен существовать заранее;
  • -G добавляет агент в группу подсистемы tcpip, поэтому команды для этой группы также применяются к нему (например, stopsrc -g tcpip также останавливает агент);
  • -S -n 15 -f 9 указывает SRC управлять агентом с помощью сигналов: stopsrc отправляет SIGTERM (15) для обычной остановки и SIGKILL (9) для принудительной остановки (stopsrc -f);
  • -R указывает SRC перезапускать агент при его аварийном завершении (например, если происходит сбой одного из его процессов); после выполнения stopsrc агент не перезапускается.

Поскольку идентификатор пользователя сохраняется в определении подсистемы, обновите это определение, если пользователь zabbix создан заново с другим идентификатором пользователя:

chssys -s zabbix_agentd -u zabbix
Запуск и остановка агента

Агент можно запустить, проверить его состояние и остановить с помощью команд startsrc, lssrc и stopsrc:

startsrc -s zabbix_agentd
lssrc -s zabbix_agentd
stopsrc -s zabbix_agentd

Не используйте принудительную остановку (stopsrc -f). Она завершает только основной процесс агента; остальные процессы агента продолжают работать и удерживают порт прослушивания открытым, поэтому агент нельзя запустить снова, пока эти процессы не будут завершены вручную (например, с помощью kill -9).

Запуск агента при загрузке системы

Регистрация агента в SRC не приводит к его запуску при загрузке системы. Чтобы агент автоматически запускался при загрузке, добавьте запись в /etc/inittab:

mkitab "zabbix_agentd:2:once:/usr/bin/startsrc -s zabbix_agentd >/dev/console 2>&1"

Удаление агента из SRC

Чтобы удалить агент из автозапуска системы и из SRC:

stopsrc -s zabbix_agentd
rmitab zabbix_agentd
rmssys -s zabbix_agentd