IPA(8)

НАИМЕНОВАНИЕ
ipa -- утилита учёта статистики

СИНТАКСИС
ipa -h|v
ipa [-c dir] [-u user] [-g group] [-p pid_file] -k signal
ipa [-c dir] [-u user] [-g group] [-f conf_file] -t [-t]
ipa [-d] [-c dir] [-u user] [-g group] [-f conf_file] [-p pid_file]
    [-o log_file] [-i log_ident]
ipa -x [-c dir] [-u user] [-g group] [-f conf_file]
    [-r rule [-l limit [-s sublimit]|-t threshold]]
    section [subsection]

ОПИСАНИЕ
IPA это ``Pluggable accounting system''. Пакет IPA состоит из трёх утилит общего назначения для учёта и ведения статистики: ipa, ipactl и ipastat. Каждая из этих утилит описана в собственной странице документации.

ipa это утилита учёта статистики. Страница документации ipa.conf(5) содержит полное описание конфигурирования ipa и описывает все возможности этой утилиты.

ipa периодически собирает статистику с IPA модулей систем учёта и передаёт эту статистику IPA модулям баз данных в соответствии с установками в конфигурационном файле ipa.conf(5). Возможно одновременно использовать несколько систем учёта и баз данных.

Доступные опции:

-c dir
    Определяет директорию, для которой ipa сразу же выполнит функцию chroot(2), директория должна быть задана с абсолютным путевым именем. Рабочая директория не изменяется.

-d  Не переходить в фоновый режим. Если используется лог-файл, то все сообщения также выводятся в стандартный вывод ошибок (stderr). Если используется syslog, то сообщения копируются в stderr только на некоторых системах. Эта опция полезна для отладки.

-f conf_file
    Использовать данный конфигурационный файл вместо конфигурационного файла, заданного по умолчанию. Конфигурационный файл должен быть задан с абсолютным путевым именем.

-i log_ident
    Использовать данный идентификатор лог-сообщений (по умолчанию идентификатор лог-сообщений -- ``ipa'').

-k signal
    Послать сигнал запущенной копии ipa. Доступны следующие аргументы: shutdown (послать сигнал SIGTERM), reconfigure (послать сигнал SIGHUP), kill (послать сигнал SIGKILL), test (проверить заблокирован ли PID-файл, сигнал не посылается). PID запущенной копии берётся как PID процесса имеющего эксклюзивную блокировку на PID-файл. Сигнал не будет посылаться в том случае, если PID-файл не заблокирован эксклюзивно.

-o log_file
    Записывать лог-сообщения в заданный лог-файл, вместо использования syslog. Этот файл может быть удалён во время работы ipa, при необходимости он будет создан заново. Это свойство помогает организовать ротацию лог-файлов.

-p pid_file
    Использовать данный PID-файл, вместо PID-файла, заданного по умолчанию. Эта опция позволяет запускать несколько копий ipa одновременно.

-t  Проверить конфигурационный файл, вывести его содержимое и завершить работу. Эта опция позволяет проверить, понимает ли ipa и IPA модули ваш конфигурационный файл или нет. Два ключа -tt включают так называемый ``режим подражания реальной конфигурации'', в этом режиме ipa установит все значение по умолчанию и применит установки из секций rulepat для секций rule.

-u user
    Изменить UID запущенной копии ipa на указанного пользователя. Указанное значение может быть именем пользователя или UID. Если опция -g не указана, то GID будет равен группе указанного пользователя, также будут установлены все дополнительные группы пользователя.

-g group
    Изменить GID запущенной копии ipa на указанною группу. Указанное значение может быть именем группы или GID. Эта опция также заменяет все дополнительные группы пользователя.

-x  Запустить команды из данной секции (подсекции) и завершить работу. Нельзя запустить какую-либо команду из autorule и rulepat секций. См. страницу документации ipa.conf(5) для получения информации об именах секций и подсекций, правилах, лимитах, подлимитах и порогах.

-h  Вывести информацию о доступных опциях и завершить работу.

-v  Вывести номер версии, некоторые установки, что поддерживается из ipa.conf(5) и завершить работу.

Во время старта ipa эксклюзивно блокирует свой PID-файл, чтобы избежать запуска нескольких своих копий и сохраняет свой PID в этом файле. Этот сохранённый PID никаким образом не используется в ipa.

ipa завершает свою работу, если получит сигнал SIGTERM. Это единственный правильный метод завершения работы ipa. Если в командной строке указан ключ -d, то сигнал SIGINT обрабатывается также, как и сигнал SIGTERM (сигнал SIGINT обычно посылается программе запущенной в интерактивном режиме, если набрать последовательность Control-C на клавиатуре).

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

Не посылайте сигнал SIGKILL запущенной копии ipa, используйте этот сигнал только в том случае, если ipa не работает должным образом и не реагирует на сигнал SIGTERM (или сигнал SIGINT, если ipa запущена в интерактивном режиме). Это замечание присутствует здесь лишь потому, что опция -k воспринимает аргумент kill.

Заметьте, что ipa ловит выше перечисленные сигналы, только если в данный момент времени не выполняется какая-либо функция из используемых IPA модулей и не запускаются команды в синхронном режиме. Обработка других сигналов не определена.

Когда ipa запускается в фоновом режиме, то она перенаправляет стандартный ввод (stdin) в /dev/null (см. реальный путь в выводе команды ``ipa -v''), вывод в стандартный вывод (stdout) и стандартный вывод ошибок (stderr) перенаправляется во внутренние pipe(2) и асинхронно посылается в лог с префиксами *STDOUT и *STDERR соответственно. Оба конца каждого pipe(2) устанавливаются в неблокирующий режим. Так как любой pipe(2) имеет ограниченный размер своих буферов, то некоторая информация посланная в stdout или stderr может быть потеряна. В любом случае это лучше, чем просто игнорировать вывод в stdout и stderr.

Когда ipa запускается в интерактивном режиме, то stdin и stderr работают как обычно (stderr используется для вывода лог сообщений).

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

ДИАГНОСТИКА
ipa завершает свою работу с кодом возврата 0 в случае успешного завершения работы, и с кодом возврата отличным от нуля, если произошла какая-то ошибка. По умолчанию ipa запускается в фоновом режиме и не следует полагаться на возвращаемый код (это всего лишь код возврата исходного процесса), лучше посмотреть содержимое лог-файла. Если необходимо контролировать код возврата, то запускайте ipa в интерактивном режиме (используйте ключ -d).

ФАЙЛЫ
ipa.pid
ipa.conf

(запустите ipa с ключём -h, чтобы увидеть путевые имена файлов, используемых по умолчанию)

ДРУГИЕ ИСТОЧНИКИ
ipactl(8), ipastat(8), ipa.conf(5), ipastat.conf(5), ipa_mod(3)

АВТОР
Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua>

НЕДОРАБОТКИ
Если вы обнаружите какие-либо ошибки, то, пожалуйста, сообщите мне по email.