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 --> Добавяне --> Хостове --> Добавете.