Ad Widget

Collapse

Trigger prototypes для отдельных item prototypes

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Konstantin Kornienko
    Junior Member
    • Aug 2018
    • 4

    #1

    Trigger prototypes для отдельных item prototypes

    Хочется странного.
    На примере стандартного Mounted filesystem discovery в шаблоне Linux.
    Этот дискавери создаёт Item prototypes вида

    Free disk space on {#FSNAME}
    ...

    И trigger prototypes на КАЖДЫЙ из FSNAME.

    А вот хочется item prototypes создавать, как есть, а Trigger Prototype создать ТОЛЬКО НА ОДИН конкретный FSNAME, например, '/var'.

    Идея в том - что данные пусть летят по всем FS, но триггер навесить хочется только на одну из них.
    Никакими ухищрениями добиться такого не удалось в 3.4.

    Может быть, есть способ?
    Спасибо!
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Способ есть, макросы с контекстом. Триггеры, правда, создадутся для всех FSNAME, но можно поставить такие пороги, что срабатывать они будут только для /var.

    Comment

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

      #3
      Как вариант: делать прототип триггера в состоянии "disabled", для нужных файловых систем сгенерированный триггер enable-ить вручную.

      Comment

      • Konstantin Kornienko
        Junior Member
        • Aug 2018
        • 4

        #4
        Тоже вариант, но хочется полной автоматизации. Пока решил это через calculated item prototypes, но это не очень... красиво, что-ли.

        Comment

        • Semiadmin
          Senior Member
          • Oct 2014
          • 1625

          #5
          Решение с calculated item prototypes плохо тем, что, во-первых, добавляет лишние айтемы со своей историей, во-вторых, создает временной лаг. В то время как макросы с контекстом как раз-таки обеспечивают полную автоматизацию. Если не хочется играть с порогами, можно сделать дополнительный макрос-флаг, на вашем примере:
          {$IS_VAR} => 0
          {$IS_VAR:/var} => 1
          и добавить в прототип триггера ...and {$IS_VAR:"{#FSNAME}"}

          Comment

          • Konstantin Kornienko
            Junior Member
            • Aug 2018
            • 4

            #6
            Спасибо большое, это уже похоже на то, что нужно! А куда это добавляется and {$IS_VAR:"{#FSNAME}"}? В Trigger expression?

            Comment

            • Semiadmin
              Senior Member
              • Oct 2014
              • 1625

              #7
              Да, если он будет 0, триггер никогда не сработает

              Comment

              • Konstantin Kornienko
                Junior Member
                • Aug 2018
                • 4

                #8
                понятно, т.е. триггеры создадутся на все fs, просто не будут срабатывать. вроде все варианты тут обсудили, каждый выберет себе по вкусу, если натолкнётся на подобный кейс. всем спасибо!

                Comment

                Working...