Ad Widget

Collapse

Сравнение значений макросов в триггере

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • constantine.a.v
    Junior Member
    • Oct 2014
    • 16

    #1

    Сравнение значений макросов в триггере

    Добрый день. Не пойму как сравнивать макросы в триггере.
    Например:
    {#IFNAME} = {$EXT_IFNAME} - не работает т.к. сравнивает как я понял только числовые значения.
    {#IFNAME}.str({$EXT_IFNAME}) - выдает ошибку синтаксиса. Как правильно делать?
    Спасибо.
  • rugo
    Junior Member
    • Apr 2013
    • 21

    #2
    Наверное нужно так
    Code:
    {#IFNAME}.str({$EXT_IFNAME},1)
    или
    Code:
    {#IFNAME}.str({$EXT_IFNAME},#1)
    Только str смотрит вхождение подстроки в строку.
    Если нужно сравнение, то смотрите функцию diff https://www.zabbix.com/forum/showthread.php?t=21421
    Подробнее про функции https://www.zabbix.com/documentation...gers/functions

    Comment

    • constantine.a.v
      Junior Member
      • Oct 2014
      • 16

      #3
      Нет. Так не работает
      Некорректное выражение триггера. Проверьте часть выражения начиная с "}.str({$EXT_IFNAME},#1)".

      Не могу понять как заставить работать и вообще возможно ли это.

      Comment

      • Semiadmin
        Senior Member
        • Oct 2014
        • 1625

        #4
        {#IFNAME} - это макрос, полученный от LLD. В отличие от пользовательского макроса {$EXT_IFNAME}, в чистом виде использовать его в триггерах нельзя.
        Если проверка совпадения имени интерфейса с полученным от LLD - не самоцель, а дополнительное условие в триггере, то иожно использовать User macros with context

        Comment

        • constantine.a.v
          Junior Member
          • Oct 2014
          • 16

          #5
          В каком сымысле в чистом виде? я использую это в прототипе триггера и там это как раз вполне уместно. А вот про контексты - я не совсем понял. Что мне это даст?

          Comment

          • Semiadmin
            Senior Member
            • Oct 2014
            • 1625

            #6
            Originally posted by constantine.a.v
            В каком сымысле в чистом виде? я использую это в прототипе триггера и там это как раз вполне уместно. А вот про контексты - я не совсем понял. Что мне это даст?
            В том смысле, что вы пытаетесь применить триггерную функцию str не к прототипу айтема, а к самому макросу {#IFNAME}.

            Comment

            Working...