Smokeping https://oss.oetiker.ch/smokeping/, è un software che consente di monitorare il carico
di rete e di scatenare degli eventi in base alla disponibilità o meno di alcuni servizi.
Di seguito riporto alcune note per l’installazione e alcuni esempi (ovviamente per capire bene come funziona smokeping vi rimando al sito ufficiale).
Link utili
https://www.howtoforge.com/monitoring_network_latency_smokeping_debian_etch
Note tecniche relative alla fase di installazione:
apt-get install smokeping curl libauthen-radius-perl libnet-ldap-perl libnet-dns-perl libio-socket-ssl-perl libnet-telnet-perl libsocket6-perl libio-socket-inet6-perl apache2
Indirizzo web per manutenzione: http://nomedelmioserver/cgi-bin/smokeping.cgi
File di configurazione presenti in /etc/smokeping/config.d
*** General *** @include /etc/smokeping/config.d/pathnames # Please edit this to suit your installation owner = Comune di Sfruz ! contact = ced@miodominio cgiurl = http://nomedelmioserver/cgi-bin/smokeping.cgi mailhost = IP_DEL_MIO_HOST # specify this to get syslog logging syslogfacility = local0 # each probe is now run in its own process # disable this to revert to the old behaviour concurrentprobes = yes *** Probes *** + FPing binary = /usr/bin/fping ++Ping step = 180 pings = 20 ++DNS step = 60 pings = 10 # ls /etc/smokeping/config.d Alerts Alerts.originale Database Database.originale General messaggio pathnames Presentation Probes script.sh Slaves Targets Targets.originale #cat /etc/smokeping/config.d/Probes *** Probes *** + FPing binary = /usr/bin/fping ++Ping step = 180 pings = 20 ++DNS step = 60 pings = 10 *** Database *** # ogni 3 minuti vengono inviati 20pings step = 180 pings = 20 # consfn mrhb steps total AVERAGE 0.5 1 1008 AVERAGE 0.5 12 4320 MIN 0.5 12 4320 MAX 0.5 12 4320 AVERAGE 0.5 144 720 MAX 0.5 144 720 MIN 0.5 144 720
NB. in caso di modifica successiva del parametro step, riavviando il servizio smokeping verrà segnalato un errore del tipo
Starting latency logger daemon: smokepingError: RRD parameter mismatch ('Wrong value of step: /var/lib/smokeping/XXXX/XXXXXX.rrd has 60, create string has 180'). You must delete /var/lib/smokeping/XXXX/XXXXX.rrd or fix the configuration parameters.
in questo caso rimuovere il file /var/lib/smokeping/XXXX/NOMEFILE.rrd e riavviare il servizio smokeping.
*** Alerts *** to = ced@miodominio from = srvsmokeping@miodominio # con il parametro edgetrigger impostato a yes viene inviata una segnalazione quando il pattern # viene soddisfatto e una segnalazione quando il pattern non è più soddisfatto edgetrigger = yes mailtemplate = /etc/smokeping/config.d/messaggio +singolopacchettoprovider type = loss # viene inviata una segnalazione se per due volte consecutive il server risulta irraggiungibile pattern = >0%,>0% comment = non raggiungibile +singolopacchettoprovideravvio type = loss # viene inviata una segnalazione se per due volte consecutive il server risulta irraggiungibile # in fase di avvio del servizio smokeping pattern = ==S%,>0%,>0% comment = non raggiungibile, in fase di avvio di smokeping +singolopacchetto type = loss # viene inviata una segnalazione se per due volte consecutive il server risulta irraggiungibile pattern = >0%,>0% comment = non raggiungibile +singolopacchettoavvio type = loss # viene inviata una segnalazione se per due volte consecutive il server risulta irraggiungibile # in fase di avvio del servizio smokeping pattern = ==S%,>0%,>0% comment = non raggiungibile, in fase di avvio di smokeping *** Targets *** probe = Ping ## You have to edit and uncomment all what you want below this. # Please, refer to smokeping_config man page for more info # The given adresses aren't real to avoid DoS. menu = Top title = Controllo carico di rete remark = SmokePing controlla la latenza di rete e la disponibilita' \ di alcuni serivizi di rete. + retelocale menu = Rete locale title = Rete locale ++ server1 host = server1.miodominio alerts = singolopacchetto,singolopacchettoavvio #alertee=|/etc/smokeping/config.d/script.sh + provider probe = DNS menu = DNS - Provider Internet title = Elenco provider per la navigazione in Internet ++ dns1-infotn-it host = 172.31.0.16 alerts = singolopacchettoprovider,singolopacchettoprovideravvio ++ dns2-infotn-it host = 172.31.0.6 alerts = singolopacchettoprovider,singolopacchettoprovideravvio ++ google-public-dns-a-google-com host = 8.8.8.8 alerts = singolopacchettoprovider,singolopacchettoprovideravvio ++ google-public-dns-b-google-com host = 8.8.4.4 alerts = singolopacchettoprovider,singolopacchettoprovideravvio messaggio Subject: [Smokeping] - '<##LINE##>' <##COMMENT##> - <##WHAT##> Target - <##ALERT##> Status - <##WHAT##> - status (is active, was raised, was cleared) Percorso - <##LINE##> Grafico - <##URL##> Data e ora - <##STAMP##> Pattern - <##PAT##> Loss history - <##LOSS##> Rtt history - <##RTT##> Commento - <##COMMENT##>
NB. è necessario lasciare una riga vuota dopo “Subject: ….”
Per monitorare il funzionamento di smokeping eseguire un tail sul file di log
tail -f /var/log/syslog