Головна Різне Bindgraph - утиліта для побудови графіків звертань до BIND

Bindgraph - утиліта для побудови графіків звертань до BIND

Bindgraph - утиліта для побудови графіків звертань до BIND
Bindgraph - утиліта для побудови графіків звертань до BIND

Неочікувані сюрпризи підкидує нам часом мережа. Раз за разом вечорами в різний час починав в нас жутко лагати інтернет, причому вільного каналу було багато, та і первинний аналіз перегрузки методом "пінг" ніяких проблем не показав. На щастя в нас малюються гнафіки на все до чого можна дотягнутись, зокрема на запити до ДНС. Bindgraph скоренько показав що коди в нас проблеми є надмірна кількість запитів до сервера, через яку він, ясна річ, потихеньку загинався і не віддавав вчасно імена вузлів. Знаючи проблему локалізація порушників зайняла надзвичайно мало часу:)

Сьогодні я розкажу Вам як легко встановити bindgraph на серевер під управлінням FreeBSD. В мене, на момент написання цієї статті, стоїть 11 версія ОС, але не думаю що щось з часом зміниться (ставив я його і на 9 з портів)


Отож Bindgraph - це утиліта для побудови графіків запитів до DNS сервера BIND. Вона малює графіки за годину/день/тиждень/місяць/рік. Для відмальовування графіка і зберігання даних використовує RRD. Написана мовою Perl.

Щоб утилітка могла читати дані, треба щоб BIND їх записував. Для цього в конфігу /etc/namedb/named.conf прописуємо секцію logging:

logging {
    channel "querylog" {
      file "/var/log/query.log" versions 50 size 20m;
      print-time yes;
    };
    category queries { querylog; };
  };

тут ми попросили BIND писати лог запитів в файл /var/log/query.log, який при досягненні 20 мегабайтного розміру ротуватиметься і кількість зберігаємих файлів ротацій буде 50.

Якщо ж у вас вже настроєне логування то файл логів можна буде підключити в rc.conf.

  Установка пакунка (pkg)

Встановлення через менеджер пакетів трохи скоріше ніж встановлення з портів. Командами 

pkg update

pkg install bindgraph

ми оновлюємо базу пакунків і встановлюємо власне Bindgraph.

Установка з портів

Для встановлення з системи портів пишемо:

cd /usr/ports/dns/bindgraph && make install clean && rehash

команда переносить нас в директорію порта, тоді встановлює порт і очищає тимчасові файли що створились під час компіляції (рекомендується так робити щоб потім при оновленні не було проблем, да і взагалі так диск чистіший) і в кінці перехешовує шляхи (щоб зразу можна було вводити команду а не шлях до файла).

Налаштування

Спочатку додаємо Bindgraph в rc.conf:

echo '# Bindgraph' >> /etc/rc.conf
echo 'bindgraph_enable="YES"' >> /etc/rc.conf

Як я писав вище, якщо у вас шлях до логу не станартний "/var/log/query.log", а якийсь свій, наприклад "/var/named/var/log/query.log", то треба додати ще один пункт в rc.conf 

echo 'bindgraph_flags="--logfile /var/named/log/queries"' >> /etc/rc.conf

Запуск

Тепер можемо сміло запускати демона, який збиратиме інформацію з лог-файлу і писатиме її в RRD файли:

service bindgraph start

Налаштуємо аліас в apache:

Alias /bindgraph/ /usr/local/www/cgi-bin/

<Directory  /usr/local/www/cgi-bin>
	Options Includes ExecCGI
	DirectoryIndex bindgraph.cgi
	AddHandler cgi-script .cgi
	Order allow,deny
	Allow from All
</Directory>

Профіт!


Всім бобра)


perm_identity event

Коментарі

18 вер. 2019 р., 10:09

s/Установка/Встановлення/ig

Ai SolarireplyВідповісти