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>