Configurazione MRTG per generare grafici per il monitoraggio del sistema

Questo HOW-TO spiega brevemente come configurare MRTG per ottenere grafici sia usando script che utilizzando il protocollo SNMP.

Per configurare MRTG è necessario aver installato SNMP & MRTG.

Per l'installazione di SNMP i passi sono i seguenti (compilazione da sorgenti):
#./configure && make && make install
oppure basta installare il pacchetto net-snmp

Modificare il file di configurazione snmpd.conf copiando il file di esempio
mv /usr/src/pathSNMP/EXAMPLE.conf /usr/local/share/snmp/snmpd.conf (/etc/snmp/snmpd.conf su sistemi con RPM).
# vi /usr/local/share/snmp/snmpd.conf
Modificare le righe attinenti alla community locale:
com2sec local     localhost       public       248968
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 159664
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 126124
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 3140
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 162804
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000
UCD-SNMP-MIB::memShared.0 = INTEGER: 0
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 2728
UCD-SNMP-MIB::memCached.0 = INTEGER: 61176
UCD-SNMP-MIB::memSwapError.0 = INTEGER: 0
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:


Ora proviamo a lanciare free e a fare un paragone
# free
             total       used       free     shared    buffers     cached
Mem:        126124     122684       3440          0       2728      56520
-/+ buffers/cache:      63436      62688
Swap:       248968      89304     159664


Installazione di MRTG
Brevemente i passi sono questi (requisiti GCC Perl Gd libpng & zlib):
./configure --prefix=/usr/local/mrtg && make && make install

I comandi che useremo sono:
cfgmaker mrtg indexmaker
e si trovano in /usr/local/mrtg/bin

Per cominciare dovremo creare il file di configurazione (che genera automaticamente la parte riguardante il traffico di rete):
cfgmaker --global WorkDir: /www/htdocs/mrtg
Ogni OID ha il suo corrispettivo nome "variabile" e ricordando che mrtg ha bisogno solamente di un intero per genereare grafici abbiamo 3 strade per passare un valore
nome = tcpCurrEstab
oid = .1.3.6.1.2.1.6.9.0
oppure, senza l'ausilio di snmp, con degli script.

Ad esempio possiamo conoscere il numero delle connessioni stabilite tramite un semplice
# netstat -nat|grep ESTA|wc -l
Creiamo uno script adatto al nostro scopo:
#!/bin/sh
netstat="/bin/netstat"
grep="/bin/grep"
wc="/usr/bin/wc"
conns=echo $netstat -nat|$grep ESTA|$wc -l
echo $conns


salviamolo e diamogli i permessi di execution: chmod +x script_conns
ora basterà semplicemente modificare la riga del target:
Target[texilee.tcpopen]: `/pathscript/script_conns

Ultima cosa la creazione della pagina index che servirà per risucire a monitorare con estrema facilità il sistema.
# cd /usr/local/mrtg/bin
# ./indexmaker mrtg.cfg > /www/htdocs/mrtg/index.html

Ogni volta che inseriremo nuovi target dovremmo ripetere l'operazione. La creazione della index può essere effettuata anche durante l'esecuzione del demone.
Importante inserire i tag  <H1></H1> :
PageTop[texilee.tcpopen]: <H1>Connessioni TCP stabilite</H1>

Privacy Policy