Już jakiś czas nosiłem się z zamiarem zmontowania jakiegoś lokalnego systemu do monitoringu jakości łącza dostarczanego przez mojego ISP. A cóż prostszego lepszego niż Smokeping? :)
Pozostało pytanie gdzie go zainstalować. Pierwsza myśl to oczywiście jeden z moich Raspberry, ale szczerze mówiąc odkąd padła mi jedna karta SD staram się bardzo ograniczać usługi które piszą po karcie do minimum. Skoro nie Rasp to co? Od dobrego roku korzystam z FreeNASa, dlaczego zatem nie postawić osobnego jaila dla Smokepinga, skoro i tak jest włączony 24/7. Jak to Branson mawia: screw it, lets do it.
Instalacja Smokeping
Nowego jaila można spokojnie wyklikać za pomocą webGUI. Jak już je stworzymy trzeba się do niego dostać. Ja raczej nie włączam SSH dla poszczególnych jaili jako, że w 90% potrzebuję konsoli do konfiguracji usługi, a potem już tam nie zaglądam. Zatem się po prostu do niego przenosimy będąc zalogowanym przez SSH do naszego FreeNASa:
jls
jexec [nr jaila] tcsh
Następnie aktualizujemy repozytoria pkg i instalujemy smokeping
pkg update
pkg install smokeping
Główny plik konfiguracyjny znajdziemy tutaj:
/usr/local/etc/smokeping/config
Najważniejsze sekcje to owner, contact, Alerts, secrets, Targets. Ta ostatnia sekcja może wyglądać np. tak
*** General ***
owner = J.Doe
contact = jdoe@example.com
mailhost = localhost
sendmail = /usr/sbin/sendmail
[...]
*** Alerts ***
to = jdoe@example.com
from = jdoe@example.com
[...]
*** Targets ***
+ Local
menu= Local
title= Local hosts
++ Gateway
menu = Gateway
title = Gateway
host = 192.168.0.1
+ Remote
menu= Remote
title= Remote hosts
++ Google-DNS
menu = Google-DNS
title= Google DNS
host= 8.8.8.8
Po konfiguracji możemy włączyć smokeping, poprzez dodanie następującego wpisu do /etc/rc.conf:
smokeping_enable="YES"
Instalacja Apache
Teraz pozostała nam tylko instalacja serwera Apache.
pkg install apache24
I od razu możemy go włączyć w /etc/rc.conf:
apache24_enable="YES"
W moim przypadku apache nie będzie serwował nic poza plikami ze Smokepinga, więc katalog /usr/local/smokeping/htdocs będzie moim DocumentRootem:
<IfModule mpm_prefork_module>
LoadModule cgi_module libexec/apache24/mod_cgi.so
</IfModule>
DocumentRoot "/usr/local/smokeping/htdocs"
<Directory /usr/local/smokeping/htdocs>
Require all granted
AllowOverride none
Options Indexes FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .fcgi
DirectoryIndex index.html smokeping.fcgi
</Directory>
Pozostaje tylko spradzić konfigurację:
service apache24 configtest
I wystartowanie usług:
service apache24 start
service smokeping start
Jeśli wszystko poszło zgodnie z planem po 5-10 minutach powinniśmy pod adresem, który zdefiniowaliśmy dla naszego jaila zobaczyć pojawiające się wykresy.
