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ę...
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...
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...
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.