SmokePing kan latency, latency distributie en packet loss meten, opslaan en weergeven. SmokePing gebruikt RRDtool om een lange-termijn data-store te onderhouden en om mooie grafieken te tonen, die tot op de minuut nauwkeurige informatie geven over de toestand van elke netwerk verbinding.

Installatie

Om Smokeping te installeren moet je de volgende 2 commando’s op je Debian server gebruiken:

apt-get update
apt-get install -y apache2 smokeping dnsutils curl echoping

Hierna hoef je alleen nog maar de configuratie aan te passen.

Configuratie

Update de standaard settings in de file ‘/etc/smokeping/config.d/General

*** General ***

owner    = name
contact  = name@something.nl
mailhost = localhost
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
cgiurl   = http://localhost/smokeping.cgi
# 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 = no

@include /etc/smokeping/config.d/pathnames

Verder kun je volgende zaken nog aanpassen:

  • Wat je wilt meten in ‘/etc/smokeping/config.d/Targets’
  • Frequenties van updates in ‘/etc/smokeping/config.d/Database’
  • File-locaties in ‘/etc/smokeping/config.d/pathnames’
  • Gebruikte tools in ‘/etc/smokeping/config.d/Probes’
  • Instelde alarmen in ‘/etc/smokeping/config.d/Alerts’

Normaal gesproken pas je de ‘Probes’ en ‘Targets’ aan. Zie de documentatie van Smokeping wat allemaal mogelijk is. Bij mij ziet deze er als volgt uit.

Probes

*** Probes ***

+ FPing
binary = /usr/bin/fping

+DNS 
binary = /usr/bin/dig 

+Curl 
binary = /usr/bin/curl 

+EchoPingSmtp
+EchoPingHttps
+EchoPingHttp

Targets

*** Targets ***

menu = Top
title = Network Latency Grapher
probe = FPing

+ Local
menu = Local
title = Local Network

++ LocalMachine
menu = Local Machine
title = Debian Server
host = localhost

+ DNS
menu = DNS check
title = DNS check
probe = DNS

++ Cloudfare
menu = Cloudfare
title = DNS check using Cloudfare Public DNS

+++ Cloudfare_DNS
menu = Cloudfare DNS
title = DNS check 'Blog Henri Matthijssen' using Cloudfare DNS server
host = eye-vision.homeip.net
pings = 5
server = 1.1.1.1

++ Google
menu = Google
title = DNS check using Google Public DNS
+++ First_Google_Public_DNS
menu = First Public Google DNS
title = DNS check 'Blog Henri Matthijssen' using first Google Public DNS server
host = eye-vision.homeip.net
pings = 5
server = 8.8.8.8

+++ Second_Google_Public_DNS
menu = Second Public Google DNS
title = DNS check 'Blog Henri Matthijssen' using second Google Public DNS server
host = eye-vision.homeip.net
pings = 5
server = 8.8.4.4

++ local
menu = Pihole
title = DNS checking using local Pi-Hole

+++ Pi-Hole_1
menu = Pi-Hole 1
title = DNS check 'Blog Henri Matthijssen' using Pi-Hole 1
host = eye-vision.homeip.net
pings = 5
server = 192.168.1.73

+++ Pi-Hole_2
menu = Pi-Hole 2
title = DNS check 'Blog Henri Matthijssen' using Pi-Hole 2
host = eye-vision.homeip.net
pings = 5
server = 192.168.1.74

+ HTTP
menu = HTTP
title = HTTP latency
probe = Curl
urlformat = http://%host%/

++ Blog
menu = Blog
title = HTTP latency for 'Blog Henri Matthijssen'
host = eye-vision.homeip.net

Paswoord beveiliging

Om je resultaten niet open en bloot aan de buitenwereld te tonen kun je heel eenvoudig een paswoord protectie instellen voor je Smokeping URL.

Creëer eerst een paswoord file met de commando’s:

mkdir /etc/apache2/passwd
htpasswd -c /etc/apache2/passwd/passwords jouwnaam

(met -c creëer je een nieuwe gebruiker, als je dit weglaat kun je paswoord van bestaande gebruiker wijzigen)

Verander hierna de file ‘/etc/apache2/conf-enabled/smokeping.conf’ naar de volgende inhoud:

ScriptAlias /smokeping/smokeping.cgi /usr/lib/cgi-bin/smokeping.cgi
Alias /smokeping /usr/share/smokeping/www

<Directory "/usr/share/smokeping/www">
    Options FollowSymLinks
    AuthType Basic
    AuthName "Smokeping"
    AuthBasicProvider file
    AuthUserFile /etc/apache2/passwd/passwords
    Require valid-user
    DirectoryIndex smokeping.cgi

Gebruik

Om de resultaten van Smokeping te bekijken moet je de volgende URL gebruiken:

https://localhost/smokeping/smokeping.cgi

(vervang localhost eventueel door IP-adres waarop je Smokeping hebt geinstalleerd)

Vervolgens krijg je het volgende te zien:




Je ziet aan de linkerkant (eventueel moet je het ‘hamburg’ symbool nog klikken om dat uit te klappen) al de structuur die je hebt aangemaakt in de ‘Targets’ file. Vervolgens kun je deze selecteren om meer inzicht te krijgen. Zie hieronder wat voorbeelden:






Conclusie

Met Smokeping kun je snel inzicht krijgen of bepaalde servers nog goed draaien. Naarmate je er dieper induikt ontdek je meer mogelijkheden.