Нужно внести в описание прототипа триггера текст "{$MACROTEXT}". Как экранировать знаки чтоб этот текст НЕ раскрывался в значение макроса в описании а так и оставался текстовой строкой "{$MACROTEXT}" ?
Ad Widget
Collapse
текст {$MACROTEXT}
Collapse
X
-
Задача решена хотть и очень странным сособом. Вообще все это надо было чтоб иметь возможность внести в комментарий в шаблоне Cisco IOS by SNMP ( СТНАДАРТНОМ шаблоне, авторы не учли этого момента) в Network Discovering triggers текст типа
так вот макрос в таком исполнении раскрывается при отображении и в итоге выглядит какCode:...... 2."{$IFCONTROL:"Fa0/3"}=1" - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. .....
что не сосвем то, что имел ввиду автор. Обратите внимание на текст сразу после номера пунктаCode:...... 2. "1=1" - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. .....
Решение: создаем на уровне шаблона макрос {$IFCTL}="{$IFCONTROL" и меняем в прототипе "{$IFCONTROL:"{#IFNAME}"}=1" на "{$IFCTL}:"{#IFNAME}"}=1". тогда при всех раскрытиях получаем на мордочке и в письме нужный текст.
Более правильное решение конечно, если бы был предусмотрен вариант экранирования символа $ в тексте чтоб текст не считался макросом. но я такого метода не нашел.
PS. Кто подскажет как уведомить разрабов стандартизированых шаблонов, идущих в комплекте чтоб как то поправили? кроме Cisco IOS by SNMP, такая же проблема во всех шаблонах, где присутствует LLD Network interface с возможностью некоторые интерфейсы сделать "неважными" через макрос. -
Как раз сегодня делал что-то аналогичное, в ЭД типа скрипт есть условие
if ({$NAME} != "{$NAME}")
Т.е. если макроса нет, то заббикс в скрипт передает его как текст {$NAME} вот это и проверял.
Заббикс решил его раскрыть.
Выкрутился конкатенацией
if ({$NAME} != "{$"+"NAME}")Comment
Comment