Ad Widget

Collapse

Низкоуровневое обнаружение. Разные условия создания прототипов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • agadron
    Junior Member
    • Nov 2018
    • 4

    #1

    Низкоуровневое обнаружение. Разные условия создания прототипов

    Стоит задача сделать обнаружение файловых систем и создать триггеры с разными условиями.
    Например:
    Есть шаблон Template Linux
    Так же есть несколько разных виртуальных машин на базе Ubuntu (но это не важно).
    Пример:
    файловые разметки:
    ВМ1
    /
    /data

    ВМ2
    /
    /datadrive

    ВМ3
    /
    /archive

    Мне нужно, для корневой файловой системы сделать триггер на остаток 5% и для всех остальных разметок 10%.
    В обнаружениях можно фильтровать через регулярные выражения, но добавить обнаружение с одинаковым ключом нельзя.
    Каким образом можно автоматизировать создание файловых разметок с тригеррами по определенным условиям?
    Пример выше исключительно для примера.


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

    #2
    Если различаются только пороговые значения для триггеров, то макросы с контекстами вам в помощь.
    В конце - ссылка на пример использования.

    Comment

    • agadron
      Junior Member
      • Nov 2018
      • 4

      #3
      Немного не понял что предлагается сделать? Добавить элемент при помощи макроса и для него определить триггер?

      Comment

      • agadron
        Junior Member
        • Nov 2018
        • 4

        #4
        По сути мне нужно условие:Если это корень - то 5% если нет - то 10%.

        Comment

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

          #5
          Originally posted by agadron
          Немного не понял что предлагается сделать? [...]
          По сути мне нужно условие:Если это корень - то 5% если нет - то 10%.
          Вы используете низкоуровневое обнаружение (LLD). Вероятно, делаете шаблон (template), чтобы его можно было применить к нескольким машинам.
          Предлагается в условии прототипа триггера в качестве порогового значения использовать макрос с контекстом. Например:
          Click image for larger version  Name:	Capture-2018-11-12.PNG Views:	1 Size:	106.5 KB ID:	368884
          В данном примере в прототипе триггера в качестве имени указывается такая конструкция:
          Code:
          Used disk space is more than {$MAX_DISK_PUSED:"{#FSNAME}"}% on volume {#FSNAME}
          а в качестве условия - такая:
          Code:
          {RB Template OS Linux:vfs.fs.size[{#FSNAME},pused].max(#2)}>{$MAX_DISK_PUSED:"{#FSNAME}"}
          Далее в макросах на уровне шаблона задаётся значение "по умолчанию для всех машин для всех файловых систем, если не задано иначе":
          Code:
          {$MAX_DISK_PUSED}=80
          Там же на уровне шаблона задаёте значение "по умолчанию для всех машин, но для конкретной (корневой) файловой системы:
          Code:
          {$MAX_DISK_PUSED:"/"}=95
          Далее на уровне конкретного хоста при желании можно будет эти макросы переопределить, а также при необходимости добавить макросы для каких-то специфичных для этого хоста файловых систем по такому же принципу, например:
          Code:
          {$MAX_DISK_PUSED:"/home"}=92
          Никаких дополнительных обнаружений с отдельными фильтрами - всё просто и наглядно.

          Comment

          • agadron
            Junior Member
            • Nov 2018
            • 4

            #6
            Супер. В принципе, как это делается разобрался и это очень удобно. Спасибо Вам!
            То что не получилось реализовать: выбор сравнений and или or в зависимости от условий/ Например:
            {Template OS Linux:vfs.fs.size[{#FSNAME},pfree].last()}<5 {$BOOL:"{#FSNAME}"} {Template OS Linux:vfs.fs.size[{#FSNAME},free].last()}< {$5PFREE:"{#FSNAME}"}
            где:
            {$BOOL} = and
            {$BOOL:"/"} = or

            Comment

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

              #7
              Э нет, так не получится :-)
              У макросов есть чёткие места, где они могут быть, и там они раскрываются. К сожалению, логические операции к таким местам не относятся.

              Comment

              Working...