fbpx

Instalacja i konfiguracja Smokeping

Smokeping to proste narzędzie służące do monitorowania i wizualizacji opóźnień w sieci. Do przechowywania i wizualizacji danych wykorzystuje RRDtool. Bez zbędnego przedłużania przejdźmy do instalacji Smokeping.

Instalacja Smokeping

Zainstalujemy Smokeping na Ubuntu 16.04 LTS. Z konsoli wydajemy polecenie:

apt-get install smokeping apache2 curl libnet-ldap-perl libnet-dns-perl libnet-telnet-perl
libio-socket-ssl-perl libsocket6-perl libio-socket-inet6-perl libauthen-radius-perl

Powyższe polecenie zainstaluje smokeping, curl, apache oraz inne aplikacje i biblioteki potrzebne do prawidłowego działanie Smokeping.

Po instalacji musisz jeszcze sprawdzić, czy jest załadowany moduł mod_cgi. Aby to zrobić, wydaj polecenie:

apache2ctl -M | sort

Jeśli masz załadowany mod_cgi na liście zobaczysz cgid_module. Jeśli nie ma cgid_module, musisz wydać polecenie:

sudo a2enmod cgi

Po dodaniu modułu CGI do Apache musisz edytować pliku serve-cgi-bin.conf. Znajduje się w /etc/apache2/conf-available/. Musisz dodać do pliku serve-cgi-bin.conf następujące wpisy:

ScriptAlias /smokeping/smokeping.cgi /usr/lib/cgi-bin/smokeping.cgi
Alias /smokeping /usr/share/smokeping/www
<Directory "/usr/share/smokeping/www">
Options FollowSymLinks
</Directory>

Poniżej masz cały plik serve-cgi-bin.conf:

<IfModule mod_alias.c>
        <IfModule mod_cgi.c>
                Define ENABLE_USR_LIB_CGI_BIN
        </IfModule>

        <IfModule mod_cgid.c>
                Define ENABLE_USR_LIB_CGI_BIN
        </IfModule>
        <IfDefine ENABLE_USR_LIB_CGI_BIN>
                ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
                <Directory "/usr/lib/cgi-bin">
                        AllowOverride None
                        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                        Require all granted
                </Directory>
ScriptAlias /smokeping/smokeping.cgi /usr/lib/cgi-bin/smokeping.cgi
 Alias /smokeping /usr/share/smokeping/www
 <Directory "/usr/share/smokeping/www">
 Options FollowSymLinks
 </Directory>
        </IfDefine>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

 

i zrestartować Apache:

sudo service apache2 restart

Instalacja Smokeping jest prosta. Możemy przejść do przygotowania konfiguracji.

Konfiguracja Smokeping

Konfiguracja Smokeping jest podzielona na kilka plików:

Alerts — konfiguracja alarmów i powiadamiania

Database — gdzie zebrane dane mają być przechowywane.

General — ogólna konfiguracja

pathnames — ścieżki do narzędzi, które wykorzystuje Smokeping.

Presentation — konfiguracja tego, jak dane będą wizualizowane.

Probes — parametry skryptów testujących

Slaves — za pomocą jednego Smokeping możesz kontrolować inne instancje Smokeping.

Targets — hosty i usługi, które mają być monitorowane.

W podstawowej konfiguracji najważniejsze są pliki General i Targets.

Smokeping — General

W pliku General konfigurujemy parametry ogólne tj.:

owner — osoba lub dział odpowiedzialny za Smokeping

contact — jak możemy skontaktować się z osobą lub działem, który administruje Smokeping

mailhost — zamiast używanie sendmail, możemy w mailhost skonfigurować serwer SMTP. Potrzebna jest do tego moduł Perla o nazwie Net::SMTP.

cgiurl — najważniejszy parametr w całym pliku. Konfigurujemy w nim adres do strony głównej Smokeping

Przykład pliku General jest dostępny poniżej:

*** General ***
owner    = Peter Random
contact  = [email protected]
mailhost = my.mail.host
# 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://10.10.50.4/cgi-bin/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

Smokeping – Targets

Kolejnym plikiem, który musisz edytować jest Targets. Konfigurujesz w pliku Targets jakie hosty lub usługi mają być monitorowane.

*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
         Here you will learn all about the latency of our network.

+DNS
menu = DNS
title = Serwery DNS

++Google
menu = Google
title = Google
host = 8.8.8.8

++Cloudflare
menu = Cloudflare
title = Cloudflare
host = 1.1.1.1

+HTTP
probe = Curl
menu = HTTP Latency
title = HTTP Latency
++Showroute
menu = Showroute.pl
title = Showroute.pl
host = showroute.pl
urlformat = https://%host%/

Gdy zakończysz wprowadzanie zmian w konfiguracji Smokeping musisz zrestartować aplikację.

service smokeping restart

Przydatnym poleceniem jest service smokeping status, które pokazuje, co jest źle w konfiguracji i jaki jest stan Smokeping.

Poniżej przykład działania service smokeping status:

root@monitoring:~# service smokeping status
 smokeping.service - LSB: Start or stop the smokeping latency logging system daemon
   Loaded: loaded (/etc/init.d/smokeping; bad; vendor preset: enabled)
   Active: active (running) since śro 2019-04-17 09:33:15 CEST; 6min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4000 ExecStop=/etc/init.d/smokeping stop (code=exited, status=0/SUCCESS)
  Process: 4007 ExecStart=/etc/init.d/smokeping start (code=exited, status=0/SUCCESS)
    Tasks: 3
   Memory: 42.1M
      CPU: 1.824s
   CGroup: /system.slice/smokeping.service
           ├─4022 /usr/bin/perl /usr/sbin/smokeping --config=/etc/smokeping/config
           ├─4023 /usr/sbin/smokeping [FPing
           └─4024 /usr/sbin/smokeping [Curl
kwi 17 09:33:15 monitoring smokeping[4007]:    ...done.
kwi 17 09:33:15 monitoring systemd[1]: Started LSB: Start or stop the smokeping latency logging system daemon.
kwi 17 09:33:15 monitoring smokeping[4022]: Smokeping version 2.006011 successfully launched.
kwi 17 09:33:15 monitoring smokeping[4022]: Entering multiprocess mode.
kwi 17 09:33:15 monitoring smokeping[4022]: Child process 4023 started for probe FPing.
kwi 17 09:33:15 monitoring smokeping[4022]: Child process 4024 started for probe Curl.
kwi 17 09:33:15 monitoring smokeping[4022]: All probe processes started successfully.
kwi 17 09:33:15 monitoring smokeping[4024]: Curl: probing 1 targets with step 300 s and offset 150 s.
kwi 17 09:33:15 monitoring smokeping[4023]: FPing: probing 4 targets with step 300 s and offset 186 s.

Podsumowanie

Aplikacja Smokeping jest prosta w instalacji i konfiguracji. Dostarcza podstawowe dane na temat działania sieci i usług. Dzięki zapisowi danych w bazie możesz sprawdzać historyczne wartości i szukać anomalii. Warto mieć ją w swojej sieci. Napisz w komentarzu, co używasz do monitorowania siec i usług.

Podobne wpisy

Adresacja IPv6 – jak dostać?

W listopadzie RIPE ogłosił, że “skończyły” się adresy IPv4. Z dzisiejszego wpisu dowiesz się jak za darmo dostać się do świata IPv6, tzn. jak uzyskać adresacje IPv6. Nawet, wtedy gdy Twój dostawca Internetu wspiera tylko IPv4.Inżynier sieciowy lubiący dzielić się...

czytaj dalej

Netbox – Graal inżyniera sieciowego?

Jako administrator sieci i systemów musisz zarządzać adresacją IP. Nie ważne czy jest to adresacja IPv6, czy IPv4, czy są to adresy publiczne lub „prywatne” (RFC1918). Musisz ten cenny zasób kontrolować i mieć pełny wgląd w to, co się z nim dzieje. Dzisiejszy wpis...

czytaj dalej

Iperf3 – testowanie przepustowości łącza

     Jako administrator lub architekt sieci często dostajesz zgłoszenia lub sam zgłaszasz, że łącze nie ma przewidywanej umową przepustowości. Co wtedy robisz? Przeprowadzasz testy. Ok, ale czym? Speedtest? Pobieranie i wysyłanie pliku? Monitorowanie...

czytaj dalej
Tomasz Mikołajek

Tomasz Mikołajek

Założyciel Showroute.pl

Inżynier sieciowy lubiący dzielić się wiedzą i pomagać innym zrozumieć zawiłości działania sieci i Internetu.