Menu Chiudi

Pillola #29: Smokeping per controllare la latenza di alcuni servizi di rete.

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
WordPress Appliance - Powered by TurnKey Linux