НАИМЕНОВАНИЕ
ipactl - утилита управления ipa(8)
СИНТАКСИС
ipactl -h|v
ipactl [-n] [-s <socket>] [-w <timeout>]
[-r <rule> -l <limit>|-t <threshold>] <command> [<args>]
ОПИСАНИЕ
Утилита ipactl используется для управления работы ipa(8) на лету. Кон-
троль осуществляется посредством посылки сообщений на известный для
ipa(8) и ipactl Unix domain сокет. Перед тем как использовать ipactl
необходимо разрешить использование Unix domain сокет для принятия сооб-
щений в ipa.conf(5) и предоставить права пользователям, которым будет
разрешено использовать ipactl. Прочтите детали о разрешении доступа в
странице документации ipa.conf(5).
Утилита ipactl также может использоваться как источник статистики для
правила, даже если это правило не использует ни одну систему учёта.
Доступные опции:
-s <socket>
Подключаться к <socket>, вместо того, чтобы подключатся к Unix
domain сокету, заданного по умолчанию.
-r <rule>
Имя правила.
-l <limit>
Имя лимита.
-t <threshold>
Имя порога.
-n Не ждать ответа от ipa(8), асинхронный режим.
-w <timeout>
Определить число секунд ожидания ответа от ipa(8), нуль обозна-
чает безграничный таймаут (по умолчанию). На самом деле этот
таймаут применяется для двух или трёх системных вызовов по
отдельности.
-h Вывести информацию о доступных опциях и командах и завершить
работу.
-v Вывести номер версии и завершить работу.
Доступные команды:
dump Указывает сохранить текущую статистику в базах данных, после
получения ответа от ipa(8), можете быть уверены, что работа
ipa(8) будет заморожена на время sleep_after_dump (см.
ipa.conf(5)).
freeze Заморозить работу ipa(8), после получения ответа от ipa(8), вы
можете быть уверены, что работа ipa(8) будет заморожена на время
freeze_time (см. ipa.conf(5)).
memory Вывести информацию об использованной памяти, о зонах памяти и о
массивах памяти (используя статистику функций ipa_memfunc).
status Вывести различную статусную информацию, эта команда может быть
использована с опциями -r, -l и -t.
expire Перезапустить лимит, если он уже был достигнут, даже если лимит
не имеет секции expire; но если он содержит секцию expire и в
ней есть команды, то эти команды будут запущены.
restart
Перезапустить лимит, если он не был достигнут, даже если лимит
не имеет секции restart; но если он содержит секцию restart и в
ней есть команды, то эти команды будут запущены.
set limit [+|-]<value>
Изменить значение параметра limit для лимита, значение параметра
load_limit для лимита должно быть равно ``yes''.
set threshold [+|-]<value>
Изменить значение параметра threshold для порога, значение пара-
метра load_threshold для порога должно быть равно ``yes''.
set counter [+|-]<value>
Изменить значение счётчика для правила, лимита или порога.
Любая управляющая команда, которая требует <limit> или <threshold>,
также требует <rule>.
Во всех командах `+' означает увеличение и `-' означает уменьшие теку-
щего значения (значение счётчика, значение параметра limit или thresh-
old).
Для команд expire, restart и set новое состояние лимита регистрируется
в базе данных немедленно и лимит также проверяется немедленно, даже ес-
ли лимит неактивен или его правило неактивно, в этом случае лимит (и
его правило) устанавливается в активное состояние и затем после обнов-
ления состояния лимита он опять устанавливаются в неактивное состояние.
Команда set для правила позволяет только увеличить или уменьшить счёт-
чик правила. Прочтите параграф о статистике и об отрицательной стати-
стике в странице документации ipa.conf(5), чтобы понять что происходит,
когда вы уменьшаете статистику. Если какие-то из лимитов или порогов
правила неактивны, то их статистика не обновляется. Обновляется только
статистика правила и активных лимитов и порогов этого правила. Если
правило неактивно, то оно устанавливается в активное состояние и затем
после обновления статистики правила, правило опять устанавливается в
неактивное состояние. Если правило содержит параметр ac_gather_*, то
статистика будет обновляться только для активных правил, которые соот-
ветствуют аргументу этого параметра.
Команда set для правила может изменить статистику для лимитов и порогов
правила. Эта статистика не будет проверяться немедленно, проверка для
лимитов и порогов будет запланирована и будет выполнена как можно
быстрее.
Если лимит является достигнутым и после команды set он стал недостигну-
тым, и у него есть секция expire, то никакие команды из этой секции не
запускаются.
Если лимит является недостигнутым и после команды set он стал достигну-
тым, и у него есть секция reach, то запускаются все команды из этой
секции.
Если какой-то подлимит является недостигнутым и после команды set он
стал достигнутым, и у него есть секция reach, то запускаются все
команды из этой секции.
Команда set для лимита имеет один побочный эффект: если лимит не имеет
параметра load_limit с значением ``yes'', и он достигнут, и значение
параметра limit в базе данных не равно значению параметра limit в кон-
фигурационном файле, то если вы измените счётчик лимита, то счётчик и
значение параметра limit (реальное значение) будут обновлены вместе в
базе данных.
Для команда set новое состояние порога регистрируется в базе данных
немедленно, даже если порог неактивен или его правило неактивно, как и
в случае с лимитами. Новые установки порога будут проверены в следующее
временное событие threshold_time_slice.
ipactl принимает <value> как 64-битное целое, время или байты. Форматы
для времени и байтов в <value> схожи с аналогичными форматами в
ipa.conf(5), но пробелы в форматах запрещены.
ДИАГНОСТИКА
ipactl завершает свою работу с кодом возврата 0, если всё в порядке; 1,
если не возможно разобрать командную строку, не возможно отправить
комамду или получить ответ от ipa(8); 2, если был получен ответ от
ipa(8) и этот ответ сообщает, что управляющая команда в ipa(8) не была
выполнена. Если ipactl запущена с ключём -n, то невозможно определить
по коду возврату была ли принята команда утилитой ipa(8) или нет.
ФАЙЛЫ
ipactl.sock
(запустите ipactl с ключём -h, чтобы увидеть путь, заданный по умолча-
нию)
ДРУГИЕ ИСТОЧНИКИ
ipa(8), ipastat(8), ipa.conf(5), ipastat.conf(5), ipa_mod(3)
АВТОР
Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua>
НЕДОРАБОТКИ
Если вы обнаружите какие-либо ошибки, то, пожалуйста, сообщите мне по
email.
16 апреля 2005 г.
|