Named/BIND 9.8.2 + MRTG – deo 2

Kako delove iz Bind stats fajla prikazati kroz MRTG grafik?
Napomena : voditi računa jer je MRTG Perl skripta…..

1. Napisati skriptu koja “vadi” željene podatke :
Napomena : pre prvog puštanja skripte, napraviti tmpfajl1.txt i u njega staviti u prvio i drugi red po jednu nulu. To su onda “stari” podaci za prvo pokretanje skripte.
#!/bin/bash
PATH=/bin:/sbin/:/usr/bin:/usr/sbin
datum=`date`
TIME=5
statistika=/var/named/chroot/var/named/data/named_stats.txt
fajl=/var/named/chroot/var/named/data/testni.fajl.txt
tmpfajl1=/var/named/chroot/var/named/data/tmpfajl1.txt
echo /dev/null > $statistika
unset $dobro
unset $lose
unset $dobrostaro
unset $losestaro
unset $petmdobro
unset $petmlose
/usr/sbin/rndc stats
#ukupno=`less $statistika|grep “IPv4 requests received”|awk ‘{print $1}’`
dobro=`less $statistika|grep “queries resulted in authoritative answer”|awk ‘{print $1}’`
lose=`less $statistika|grep “queries resulted in SERVFAIL”|awk ‘{print $1}’`
dobrostaro=`head -n1 $tmpfajl1`
losestaro=`tail -n1 $tmpfajl1`
let petmdobro=$dobro-$dobrostaro
let petmlose=$lose-$losestaro
echo $dobro > $tmpfajl1
echo $lose >> $tmpfajl1
echo $petmdobro
echo $petmlose
Zašto ovolika majmunijada i oduzimanje? Pa zato što su statistike kumulativne, dakle ako hoćemo rezultate (broj upita) za 5min, moraju se oduzeti stare vrednosti od novih.
Napomena : Iz misterioznih razloga BASH skriptići ne trpe tačku u imenu promenljive!

2. Instalirati MRTG i konfigurisati /etc/mrtg/mrtg.cfg :
HtmlDir: /var/www/html/mrtg
ImageDir: /var/www/html/mrtg
LogDir: /var/lib/mrtg
ThreshDir: /var/lib/mrtg
######################################
Target[bind]: `/var/named/chroot/var/named/data/obrada.dns.statistika`
Title[bind]: DNS upiti
PageTop[bind]:

DNS upiti na 5min

LegendI[bind]: Dobrih upita na 5min
LegendO[bind]: Losih upita na 5min
Legend1[bind]: Dobrih upita na 5min
Legend2[bind]: Losih upita na 5min
Options[bind]: growright,pngdate,nobanner,gauge,nopercent,noinfo
ShortLegend[bind]: upiti/5min
Ylegend[bind]: Br upita
MaxBytes[bind]: 5000

Gde se šta nalazi :
Logovi : /var/lib/mrtg (default, određuje se u konf fajlu)
Konfiguracija : /etc/mrtg/mrtg.conf

Da bi sve proradilo
U /var/named/chroot/var/named/data napraviti tmpfajl1 i u njega staviti dve 0, jednu ispod druge (to je startni fajl).
Pustiti napisanu skriptu testa radi, i pratiti da li dobro radi.
Zatim :
# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
Posmatrati izlaz. Ako su samo upozorenja, nema veze. Onda protrčati komandu još dva puta, i više ih neće biti.
Treba kreirati index.html fajl u /var/www/mrtg folderu :
# cd /var/www/mrtg
# indexmaker –output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg
Takođe DocumentRoot Apache servera treba da bude u /var/www, a ne u /var/www/html, kako je po default-u.

Testiranje rada
Grafici se gledaju na lokaciji : httpd://IP-adresa/mrtg/index.html

Šta nikako ne uraditi : ne staviti pokretanje skripte u cron!!!!! Inače će grafika čas biti, a čas neće. Jer MRTG se automatski pokreće kod višljih verzija RHEL i CEntOS-a!!

Mogući problemi :
a. Grafik se ne vidi sa lokalne mašine – proveriti /etc/httpd/conf.d/mrtg.conf i sa kojih IP adresa je dozvoljen pristup grafiku
b. Grafika nema – proveriti graničnu vrednost “MaxBytes, da se ne desi da je vrednosti promenljivih prelaze.
c. # env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg –logging /var/log/mrtg.log
2014-05-08 10:58:52, Rateup WARNING: /usr/bin/rateup could not read the primary log file for bind
2014-05-08 10:58:52, Rateup ERROR: /usr/bin/rateup found bind’s log file was corrupt or not in sorted order:
time: 1398771300.2014-05-08 10:58:52, Rateup WARNING: /usr/bin/rateup The backup log file for bind was invalid as well
E ako se ovo javi, otići u /var/lib/mrtg i obrisati log fajl, pa posle pokrenuti isto 3 puta, i neće više biti upozorenja ili grešaka.

Odličan link.