Zabbix мониторинг на DNS сървъри

Тази статия ще обсъди подробно начина за наблюдение на dns сървъри въз основа на външен самонаписан скрипт, използвайки помощната програма за хост в системата за наблюдение на zabbix, реализирана чрез функцията за външна проверка в елемента данни.

Веднага трябва да се отбележи, че системата за наблюдение на zabbix е доста гъвкава, позволява ви да организирате наблюдение на DNS сървъри по различни начини, например с помощта на zabbix агента или с помощта на външни скриптове (външни проверки). Нека разгледаме по-подробно втората опция за наблюдение на dns сървъри.

Скрипт за наблюдение на DNS сървъра.

Първо, нека създадем скрипт, който ще проверява работата на DNS сървърите.

В скрипта ще проверим дали домейнът е разрешен или не, като използваме стандартната помощна програма "host", която е включена по подразбиране във всички дистрибуции на Linux.

Помощната програма "host" е предназначена за запитване към DNS сървъри.

Описание на алгоритъма за работа на скрипта.

Синтаксис: хост [име на домейн] [dns-сървър]

Като пример: [име на домейн] - mail.ru; [dns-sever] - 8.8.8.8 (google dns).

2. Обработете изхода на командата "host" с помощната програма "grep". Обърнете внимание, че редовете, от които се нуждаем, съдържат набора от символи "има адрес" и ние ще филтрираме по този набор.

3. Още веднъж ще обработим получения изход сега с помощната програма "wc" с клавиша "-l", броят на редовете ще бъде преброен.

4. Самият скрипт се състои от просто условие, а именно, ако резултатът от изпълнението на командата, описана по-горе, е равен на нула (т.е. хостът е нерешен), тогава скриптът ще даде грешка - 0, а ако друго число е 1 (т.е. хостът е разрешен). Ще използваме две входни променливи „HOST“ и „DNS_SERVER“ в скрипта.

Стартиране на скрипта ./host-dns.sh mail.ru 8.8.8.8

Конфигуриране на zabbix за наблюдение на DNS сървъри с помощта на скрипт или външенчекове

1. Поставете този скрипт, например, в директорията "/usr/local/etc/externalscripts/host-dns.sh".

2. Променете собственика на файловете, така че zabbix да може да ги изпълнява.

$ показан root:zabbix /etc/zabbix/externalscripts/host-dns.sh

3. Редактирайте файла с настройки "zabbix_server.conf". Имам го в директорията "/usr/local/etc/zabbix_server.conf". Вашият файл може да е на друго място.

3.1. Редактиране на секцията „Опция: Външни скриптове“. Посочете пътя към директорията със скрипта.

3.2. Редактиране на секцията „Опция: Изчакване“. Увеличете времето за изчакване до 30 сек. Правим това, така че нашият скрипт да има време да се изпълни и да произведе резултат.

5. Нека създадем нова DNS група. Настройка --> Групи домакин --> Създаване на хост група --> Име на групата: CHECK-DNS --> Добавете.

наблюдение

6. Да създадем шаблон. Настройка --> Шаблони --> Създаване на шаблон --> Име на шаблона: Telmpate_check_dns --> Групи: ПРОВЕРКА-DNS --> Добавете.

мониторинг

7. Добавяне на елемент от данни към шаблона. Настройка --> Шаблони --> Група: ПРОВЕРКА-DNS --> Елементи --> Създаване на елемент --> Попълваме формуляра.

Тип: Външна проверка

Тип информация: Числов (цяло положително число)

Тип данни: Десетичен

Интервал на обновяване (в секунди): 35

8. Добавете тригер към шаблона. Настройка --> Шаблони --> Група: ПРОВЕРКА-DNS --> Задействания --> Създаване на тригер --> Попълваме формуляра.

9. Създайте хост и прикачете шаблон към него. Настройка --> Хостове --> Създаване на хост --> Попълваме формуляра.

Видимо име: DNS-GOOGLE

--> Шаблони --> Обединяване с нови шаблони --> Изберете шаблон Telmpate_check_dns --> Добавяне --> Хостове --> Добавете.