SmokePing konfiguracja i instalacja

Co to jest SmokePing ?

SmokePing to darmowy projekt obrazowania statystyk. Główny cel to obsługa protokołu icmp (ping), ale możliwości są dużo większe. Zastosowanie tego projektu w znacznym stopniu pozwala nam monitorować sieć, lub dostępność serwisów internetowych, obrazuje jakie mamy czasy dostępu do poszczególnego hosta w sieci LAN, urządzenia szkieletowego, lub hosta w sieci Internet który nas interesuje.
Strona projektu dostępna jest tutaj: SmokePing, to tyle jak chodzi o opis do czego może być przydatny SmokePing.

Co potrzebujemy w systemie do uruchomienia SmokePing ?

  • RRDTool – strona projektu: RRDTool
  • fping – strona projektu: fping
  • Perl – strona projektu: Perl Programming Language
  • Moduły perl FCGI, CGI, CGI::Fast, Config::Grammar, Digest::HMAC_MD5, LWP strona projektu: CPAN
  • Dowolny serwer WEB: apache, nginx, lighttpd, opis opieram o lighttpd – strona projektu: LIGHTTPD

Wykonanie:

Przechodzimy do katalogu:
cd /usr/src

Pobieramy źródła:

wget oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz
wget download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.35.tar.bz2
wget www.cpan.org/src/5.0/perl-5.20.0.tar.gz
wget fping.org/dist/fping-3.10.tar.gz
wget oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.30.tar.gz

Rozpakowujemy źródła poleceniem:

tar xjf lighttpd-1.4.35.tar.bz2
ln -s lighttpd-1.4.35 lighttpd
tar zxf smokeping-2.6.9.tar.gz
ln -s smokeping-2.6.9 smokeping
tar zxf perl-5.20.0.tar.gz
ln -s perl-5.20.0 perl
tar zxf fping-3.10.tar.gz
ln -s fping-3.10 fping
tar zxf rrdtool-1.2.30.tar.gz
ln -s rrdtool-1.2.30 rrdtool

Przechodzimy do katalogu:

cd /usr/src/lighttpd

Opcje polecenia configure:

./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--sysconfdir=/etc/httpd \
--localstatedir=/var \
--mandir=/usr/man \
--with-pcre \
--with-attr \
--without-ldap \
--without-webdav-props \
--without-webdav-locks \
--without-openssl \
--without-gdbm \
--without-memcache
make
make install
cd ..

Tu mała uwaga z racji że ja stosuję SmokePing wyłącznie na routerach sieciowych, nie są mi potrzebne wszystkie opcje dlatego dla pakietu LIGHTTPD wybrałem tyko te które mnie interesują, tu można sobie wybrać i dostosować własną konfigurację wydając polecenie:
./configure -h. Może zaistnieć sytuacja jeszcze braku jakiś bibliotek które są wymagane dla LIGHTTPD, wtedy trzeba do kompilować wymagane oprogramowanie. A więc lecimy dalej z kompilacją kolejnego oprogramowania.
Przechodzimy do katalogu:

cd /usr/src/perl

Opcje polecenia configure:

./Configure -de \
-Dprefix=/usr \
-Dvendorprefix=/usr \
-Dcccdlflags='-fPIC' \
-Dinstallprefix=/usr \
-Dlibpth="/usr/lib64 /lib64" \
USE_THREADS="-Dusethreads -Duseithreads" \
-Dpager='/usr/bin/less -isr'

Póżniej seria poleceń kończących instalację:

make
make test
make install

Teraz jeszcze sprawy kosmetyczne:

cd /
cd /usr/bin
ln -sf perl5.20.0 perl
ln -sf c2ph pstruct
ln -sf s2p psed
cd /
mkdir -p /usr/lib64/perl5/vendor_perl/5.20.0/x86_64-linux-thread-multi

Przechodzimy do kolejnego etapu czyli wydajemy polecenie:

cd /usr/src/fping

Teraz czas na opcje konfiguracyjne pakietu:

./configure \
--prefix=/usr \
--enable-ipv4 \
--enable-ipv6

W następnej kolejności:

make
make install
cd ..

Przechodzimy do katalogu:

cd /usr/src/rrdtool

Opcje konfiguracyjne:

./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--mandir=/usr/man \
--disable-static \
--disable-ruby \
--disable-tcl \
--disable-python \
--with-perl-options='INSTALLDIRS=vendor'

Teraz instalacja:

make
make install
cd /

Małe sprostowanie dlaczego używam tak starej wersji RRDTool, jak już wspomniałem cel tego artykułu to wykonanie narzędzia diagnostycznego dla sieci ISP z przystosowaniem jako router sieciowy. A niestety nowsze wersje potrzebują bibliotek, które dla mnie są zbędne, a do tego jeszcze trzeba mieć biblioteki graficzne wymagane dla środowiska graficznego Linux. W moim wykonaniu routera nie ma śladu po środowisku graficznym. Na tej wersji RRDTool spokojnie odpalimy także projekt Cacti, SmokePing, Lstat, MRTG i inne gotowe projekty statystyk graficznych. Pakiet RRDTool może wymagać jeszcze dodatkowych bibliotek, czyli jak polecenie configure zwróci nam błąd, trzeba doinstalować brakujące elementy.

Do wykonania mamy jeszcze zainstalowanie modułów perl, tu tylko skrótowo podam jak instalować dodatkowe moduły:

perl -MCPAN -e shell
install nazwa_modułu

Po zakończeniu instalacji modułów wydajemy polecenie:

quit

Teraz czas na najważniejszą rzecz dla której powstał ten artykuł czyli statystyk graficznych SmokePing.
Przechodzimy do katalogu:

cd /usr/src/smokeping

Opcje konfiguracyjne pakietu:

./configure \
--prefix=/usr \
--sysconfdir=/etc/smokeping \
--libdir=/usr/lib64/perl \
--with-htdocs-dir=/var/www/htdocs/smokeping

Instalacja:

gmake install
cd /

To tyle jeśli chodzi o samą instalację statystyk graficznych SmokePing, na kolejnej stronie przedstawię podstawową konfigurację i uruchomienie statystyk obrazujących wykresy odpowiedzi ping na hosta skonfigurowanym w pliku konfiguracyjnym. Gdyby w tym artykule były jakieś błędy lub uwagi proszę przesyłać informacje tu: Kontakt, w miarę czasu uzupełnię artykuł jak Wasze spostrzeżenia okażą się pomocne dla innych którzy odwiedzą tą skromną stronkę.