Это требуемая реакция системы.
Чтобы задать реакцию на данное событие.
В данном параметре можно использовать:
action = "#tcpsender.ИМЯ"
action = "#zabbixsender.ИМЯ"
ИМЯ
— имя конкретного демона уведомлений.Допускается указывать также произвольные скрипты ОС Linux, при этом текст скрипта не должен начинаться с точки. Но это настоятельно не рекомендуется, поскольку велика вероятность некорректной конфигурации. Данная возможность сохранена исключительно для совместимости с унаследованными конфигурациями; впредь задавать такие скрипты следует только в специальном параметре script.
В качестве реакции не могут использоваться интерактивные команды, подразумевающие (хотя бы потенциально) дальнейший ввод со стороны пользователя. Также не следует указывать в данном поле команды, исполнение которых может занять длительное время, например, экспорт резервной копии конфигурации. Время исполнения action
жестко ограничено, чтобы не подвесить систему, поэтому исполнение таких команд будет прервано раньше, чем они успеют завершить работу.
ВНИМАНИЕ! Категорически запрещается использовать в данном поле скрипт Linux, вызывающий вложенную оболочку nsgsh в пакетном режиме для выполнения каких-либо действий — это приведёт к зацикливанию системы.
Данные скрипты исполняются непосредственно в контексте демона конфигурации nsgconfd, без обращения к каким-либо внешним оболочкам. Благодаря этому они не конфликтуют ни с какими другими средствами управления. Язык внутренних скриптов по существу описывает выполнение команд в дереве конфигурации, например:
action = ".tools.led.green=on"
Синтаксис языка имеет много общего с командами nsgsh, но и некоторые отличия от них. Он определяется следующими правилами:
путь.параметр=значение
. Если значение текстовое и имеет какие-то особенности, например, должно содержать пробелы или знак равенства, или это цифры, которые необходимо интерпретировать как текст, то его следует заключить в двойные кавычки. (После ввода кавычки автоматически заменяются на \"
.)_new
, _remove
и т.п.) невозможно, поскольку скрипт не обрабатывается предварительно nsgsh, а исполняется непосредственно в nsgconfd. Единственным исключением является команда _a
, для которой особо предусмотрен отдельный внутренний обработчик.В данном случае сначала несколькими параметрами компонуется оповещение по электронной почте, а затем оно отправляется командой.tools.mail(server=my.mail.provider;from=MyPoopyNSG;to=ivan@izba.ru;subject=BEDA;body="ATM is dead";send)
send
. Все действия производятся внутри узла tools.mail
.mail.send
), либо, если действие состоит в изменении конфигурации, команда _a
(можно для ясности писать _apply
, но по существу обработчик воспринимает только первый символ после подчерка, и только a
).Пример. Светодиодный индикатор устройства NSG–1810 отображает состояние порта m1
(в который установлена опция 3G или LTE). Для наглядности использованы различные варианты синтаксиса.
services : event-handler : : 1 : : : virt-sensor = "ifstate.m1" : : : prev-state = "other" : : : state = "up" : : : action = ".tools.led(red=off;green=on)" : : 2 : : : virt-sensor = "ifstate.m1" : : : prev-state = "up" : : : state = "other" : : : action = ".tools.led.red=on .tools.led.green=off"
© Network Systems Group 2015–2024 | Отдел документации |