Ad Widget

Collapse

Как правильно сделать несколько однотипных проверок?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Victor Vislobokov
    Senior Member
    • Aug 2018
    • 298

    #1

    Как правильно сделать несколько однотипных проверок?

    Что хочется: контролировать резолвинг имён через DNS сервер. Для этого у Zabbix'а есть встроенная функциональность, например net.dns.record. В случае, когда нужно выполнить проверку одного домена, всё ясно и нет вопросов, но если таких проверок надо выполнить 5 или 10?

    Как я в итоге сделал (мне не нравится).
    1. Создал шаблон "DNS Resolver" добавил туда элемент данных net.dns.record[127.0.0.1,localhost,A] и соответственно триггер проверяющий что всё в порядке. И триггер и элемент данных оставил неактивными!
    2. Теперь, если мне надо добавить проверку домена, я клонирую созданный шаблон и исправляю элемент данных, выставляя нужный мне IP адрес DNS-сервера и нужное мне доменное имя для проверки.
    Но такой подход мне кажется неправильным. Т.е. для каждой новой проверки мне надо отдельный шаблон делать. Может есть какой-то более правильный и красивый способ?
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    у вас есть какой-либо принцип назначения контролируемых dns-имен?

    Comment

    • Victor Vislobokov
      Senior Member
      • Aug 2018
      • 298

      #3
      нет. просто есть необходимость контролировать что определённый dns сервер отдаёт определённый домен.

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        В таком случае (получение имен хостов/доменов из головы администратора) решение будет найдено при развитии технологий нейроинтерфейсов. До тех пор, боюсь, никакими скриптами руки не заменить. А создание шаблонов, новых айтемов в существующем шаблоне или айтемов, относящихся к отдельному узлу - это личное дело инженера, сопровождающего Zabbix.

        Comment

        • Victor Vislobokov
          Senior Member
          • Aug 2018
          • 298

          #5
          э.... попробую объяснить понятней, в чём вижу неправильность решения.
          по факту у нас есть проверка некой сущности, т.е. проверка ответа dns. у этой проверки есть параметры, т.е. имя домена и ожидаемый ответ.
          т.е. логично было бы предположить, что проверка сущности - это шаблон, а к этому шаблону можно задать парамерты. а на самом деле получается, что я вынужден для других параметров создавать другой шаблон. вот это на мой взгляд неправильно! есть ли способ воспользоваться одним шаблоном проверки на одном узле, но при этом дать ему разные параметры? в документации не нашёл, поэтому спрашиваю

          Comment

          • Semiadmin
            Senior Member
            • Oct 2014
            • 1625

            #6
            Правильный способ - использование в шаблоне пользовательских макросов, переопределяемых на уровне хоста. Кстати, в доке пишут, что если опустить в ключе net.dns.record адрес DNS - сервера, то подставится дефолтный для данного хоста.

            Comment

            • Victor Vislobokov
              Senior Member
              • Aug 2018
              • 298

              #7
              угу. мне про макросы первое, что пришло в голову, но тут есть проблема. проблема в том, что если бы я выполнял одну проверку dns, то вопросов не было бы - переопределил макрос на уровне хоста и вуаля. а мне надо выполнить несколько проверок, а макросы (понятное дело) можно переопределить лишь один раз. и как быть?

              Comment

              • Semiadmin
                Senior Member
                • Oct 2014
                • 1625

                #8
                И этот список проверяемых доменов для каждого хоста уникален?

                Comment

                • Victor Vislobokov
                  Senior Member
                  • Aug 2018
                  • 298

                  #9
                  В принципе да. Т.е. у меня нет такого, что на двух разных хостах проверяются одни и те же домены.

                  Comment

                  • Semiadmin
                    Senior Member
                    • Oct 2014
                    • 1625

                    #10
                    Тогда, видимо, LLD. Например, хранить на каждом хосте текстовый файл со списком проверяемых доменов и дискаверить его содержимое. Или сендером json для LLD на хост кидать, если неохота по хостам лазить при изменении списка.

                    Comment

                    • Victor Vislobokov
                      Senior Member
                      • Aug 2018
                      • 298

                      #11
                      Это настолько неудобно, что проще действительно ещё один шаблон захреначить. Тогда лазить никуда не надо будет - всё тут.

                      Comment

                      Working...