Документация: ПО Факел — разрабатываемая версия
Обработчик событий¶
Обзор¶
Обработчик событий ПО Факел следит за системным журналом и запускает сценарии администратора в ответ на заданные записи. Например, сценарий может отправить уведомление или изменить настройки, когда в журнале появляется сообщение о падении интерфейса или об ошибке службы.
Обработчики настраиваются в разделе service event-handler event <event>. Каждый обработчик состоит из двух частей:
фильтр (
filter) — регулярное выражениеpatternи, при необходимости, идентификатор процесса в журналеsyslog-identifier;сценарий (
script) — путь к исполняемому файлуpath, его аргументыargumentsи переменные окруженияenvironment.
Обработчик проверяет каждую новую запись журнала. Если задан идентификатор процесса, проверяются только записи этого процесса. Сценарий запускается, когда регулярному выражению соответствует весь текст записи, а не его часть. Текст записи сценарий получает в переменной окружения message; поэтому имя message нельзя использовать для собственных переменных окружения. Остальные переменные окружения, заданные командами script environment, передаются сценарию вместе с переменными окружения системы.
Шаблон и путь к сценарию обязательны для каждого обработчика: без них проверка конфигурации завершается ошибкой Event-handler: both pattern and script path items are mandatory. Строка аргументов (script arguments) разделяется пробелами на отдельные аргументы, которые сценарий получает после пути, например one two — как два аргумента. Каждое срабатывание обработчик записывает в системный журнал — сообщение Pattern found: "<шаблон>", script executed: "<сценарий> <аргументы>". Сообщение записывается и тогда, когда сам сценарий завершился с ошибкой, поэтому результат работы сценария проверяйте по его собственным действиям. Если сценарий не удалось запустить, в журнал записывается сообщение Pattern found: "<шаблон>", failed to execute script "<сценарий>" с описанием ошибки. Эти записи помогают проверить, срабатывает ли обработчик. Журнал системы выводит команда show log (см. Журналы системы).
Список команд¶
Режим «Конфигурирование»¶
service event-handler event <event>¶
<event>.filter pattern) и путь к сценарию (script path), иначе проверка конфигурации завершается ошибкой.Синтаксис:
set service event-handler event
<event>delete service event-handler event
<event>show service event-handler event
Аргументы:
<event>— имя обработчика событий. Формат: строка.
Режим: «Конфигурирование».
service event-handler event <event> filter pattern <pattern>¶
Синтаксис:
set service event-handler event
<event>filter pattern<pattern>delete service event-handler event
<event>filter pattern<pattern>show service event-handler event
<event>filter pattern
Аргументы:
<event>— имя обработчика событий.<pattern>— регулярное выражение. Формат: строка.
Режим: «Конфигурирование».
service event-handler event <event> filter syslog-identifier <syslog-identifier>¶
Синтаксис:
set service event-handler event
<event>filter syslog-identifier<syslog-identifier>delete service event-handler event
<event>filter syslog-identifier<syslog-identifier>show service event-handler event
<event>filter syslog-identifier
Аргументы:
<event>— имя обработчика событий.<syslog-identifier>— идентификатор процесса в системном журнале. Формат: строка.
Режим: «Конфигурирование».
service event-handler event <event> script arguments <arguments>¶
Синтаксис:
set service event-handler event
<event>script arguments<arguments>delete service event-handler event
<event>script arguments<arguments>show service event-handler event
<event>script arguments
Аргументы:
<event>— имя обработчика событий.<arguments>— аргументы сценария. Формат: строка.
Режим: «Конфигурирование».
service event-handler event <event> script environment <environment>¶
<environment>, которая передается сценарию обработчика.message зарезервировано: в этой переменной сценарий получает текст записи журнала, и проверка конфигурации с таким именем завершается ошибкой Event-handler: "message" environment variable is reserved for log message text.Синтаксис:
set service event-handler event
<event>script environment<environment>delete service event-handler event
<event>script environment<environment>show service event-handler event
<event>script environment
Аргументы:
<event>— имя обработчика событий.<environment>— имя переменной окружения. Формат: строка.
Режим: «Конфигурирование».
service event-handler event <event> script environment <environment> value <value>¶
<environment> сценария обработчика.Синтаксис:
set service event-handler event
<event>script environment<environment>value<value>delete service event-handler event
<event>script environment<environment>value<value>show service event-handler event
<event>script environment<environment>value
Аргументы:
<event>— имя обработчика событий.<environment>— имя переменной окружения.<value>— значение переменной окружения. Формат: строка.
Режим: «Конфигурирование».
service event-handler event <event> script path <path>¶
set завершается ошибкой File <path> does not exist или File <path> is not an executable file.Синтаксис:
set service event-handler event
<event>script path<path>delete service event-handler event
<event>script path<path>show service event-handler event
<event>script path
Аргументы:
<event>— имя обработчика событий.<path>— путь к файлу сценария. Формат: строка.
Режим: «Конфигурирование».