Ad Widget

Collapse

текст {$MACROTEXT}

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • teddy
    Senior Member
    • Dec 2017
    • 234

    #1

    текст {$MACROTEXT}

    Нужно внести в описание прототипа триггера текст "{$MACROTEXT}". Как экранировать знаки чтоб этот текст НЕ раскрывался в значение макроса в описании а так и оставался текстовой строкой "{$MACROTEXT}" ?
  • teddy
    Senior Member
    • Dec 2017
    • 234

    #2
    Originally posted by teddy
    Нужно внести в описание прототипа триггера текст "{$MACROTEXT}". Как экранировать знаки чтоб этот текст НЕ раскрывался в значение макроса в описании а так и оставался текстовой строкой "{$MACROTEXT}" ?
    Задача решена хотть и очень странным сособом. Вообще все это надо было чтоб иметь возможность внести в комментарий в шаблоне 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 с возможностью некоторые интерфейсы сделать "неважными" через макрос.

    Comment

    • Alex_UUU
      Senior Member
      • Dec 2018
      • 541

      #3
      Как раз сегодня делал что-то аналогичное, в ЭД типа скрипт есть условие
      if ({$NAME} != "{$NAME}")
      Т.е. если макроса нет, то заббикс в скрипт передает его как текст {$NAME} вот это и проверял.
      Заббикс решил его раскрыть.
      Выкрутился конкатенацией
      if ({$NAME} != "{$"+"NAME}")

      Comment

      Working...