Ad Widget

Collapse

Поиск части имени

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Xandr
    Junior Member
    • Apr 2022
    • 7

    #1

    Поиск части имени

    Здравствуйте!
    Прошу прощения что отвлекаю банальщиной, но что-то справку я не могу осилить по этому вопросу...
    есть макрос {#QEMU.NAME} , который возвращает имя виртуальной машины. Как проверить есть ли в строке имени подстрока "imp" ? это мне нужно для условия триггера
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Да почему, вопрос совсем не банальный... К сожалению, вы не указали версию заббикса, но будем считать, что она не ниже 5.0.
    Тогда, теоретически, можно в прототипе триггера через макро функцию {{#LLDMACRO}.regsub(pattern, output)} вытащить часть значения макроса и сравнить с искомой подстрокой, начиная с 5.0 заббикс умеет сравнивать строки. Только надо написать регулярку так, чтобы при отсутствии этой подстроки не нарваться на ошибку.
    Но, на мой взгляд, это плохой путь. Есть другие:
    1. Использовать макросы с контекстом, в которых в старших минорах 5.0 можно использовать регулярки, для получения макроса-флага (например, 1 при наличии "imp" и 0 при отсутствии), и использовать этот макрос в выражении прототипа триггера
    2. (еще лучше) использовать LLD override, чтобы создавать из прототипов разные наборы триггеров для ВМ с imp в имени и без оного.

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #3
      Originally posted by Semiadmin
      (еще лучше) использовать LLD override, чтобы создавать из прототипов разные наборы триггеров для ВМ с imp в имени и без оного.
      Вот это - на мой взгляд, самый правильный вариант. По моему сугубо субъективному мнению, поддержка LLD overrides - наиболее ценный бонус, который мы получили после обновления на версию 5.0.

      Comment

      • Xandr
        Junior Member
        • Apr 2022
        • 7

        #4
        принял. благодарю!

        Comment

        Working...