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.
Afgelopen week zelf even gekeken naar Smokeping, en toen kwam jij met dit artikel. Hoe toevallig! Kleine opmerking over je stappenplan:
als je een minimal-install Debian server hebt (zoals ik), dan mis je een paar essentiele packages. Je loopt dan tegen een hoop foutmeldingen aan en de Smokeping setup zal niet lukken.
Ik noem bijv. de installatie van apache2.
En in mijn configuratie lukte de installatie van echoping ook niet.
Heb daar een extra repository voor moeten toevoegen.
Uiteindelijk heb ik Smokeping aan de praat gekregen.
Dacht dit even te melden als er meer mensen zijn die een minimal-install hebben draaien van Debian (bijv als virtuele machine).
Dank voor dit artikel, ben er erg blij mee dat ik nu Smokeping heb draaien!
Je hebt helemaal gelijk Patrick. Ik heb het ‘update’ commando wat veranderd. Het is voor mij natuurlijk moeilijk te bepalen wat iedereen al heeft aan packages en wat niet. Ik ging er foutief van uit dat apache2 zeker al geïnstalleerd was. Bedankt voor de aanvulling!