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ą duzo 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:

LinuxBox [root@router] / #
cd /usr/src

Pobieramy źródła:

LinuxBox [root@router] /usr/src #
wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz
wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.35.tar.bz2
wget http://www.cpan.org/src/5.0/perl-5.20.0.tar.gz
wget http://fping.org/dist/fping-3.10.tar.gz
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.30.tar.gz

Rozpakowujemy źródła poleceniem:

LinuxBox [root@router] /usr/src #
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:

LinuxBox [root@router] /usr/src/lighttpd #
cd /usr/src/lighttpd

Opcje polecenia configure

LinuxBox [root@router] /usr/src/lighttpd #
./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 LIGHHTPD, wtedy trzeba do kompilować wymagane oprogramowanie. A więc lecimy dalej z kompilacją kolejnego oprogramowania.
Przechodzimy do katalogu:

LinuxBox [root@router] /usr/src/perl #
cd /usr/src/perl

Opcje polecenia configure

LinuxBox [root@router] /usr/src/perl #
./Configure -de -Dprefix=/usr -Dvendorprefix=/usr -Dcccdlflags='-fPIC' -Dinstallprefix=/usr \
-Dlibpth="/usr/lib64 /lib64" USE_THREADS="-Dusethreads -Duseithreads" -Dpager='/usr/bin/less -isr'

Pożniej seria poleceń kończących instalację

LinuxBox [root@router] /usr/src/perl #
make
make test
make install

Teraz jeszcze sprawy kosmetyczne

LinuxBox [root@router] /usr/src/perl #
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

Przechodzi do kolejnego etapu czyli wydajemy polecenie:

LinuxBox [root@router] / #
cd /usr/src/fping

Teraz czas na opcje konfiguracyjne pakietu

LinuxBox [root@router] /usr/src/fping #
./configure --prefix=/usr --enable-ipv4 --enable-ipv6

W następnej kolejności

LinuxBox [root@router] /usr/src/fping #
make
make install
cd ..

Przechodzi do katalogu

LinuxBox [root@router] /usr/src #
cd /usr/src/rrdtool

Opcje konfiguracyjne:

LinuxBox [root@router] /usr/src/rrdtool #
./configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --disable-static --disable-ruby \
--disable-tcl --disable-python --with-perl-options='INSTALLDIRS=vendor'

Teraz instalacja

LinuxBox [root@router] /usr/src/rrdtool #
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 IPS 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:

LinuxBox [root@router] / #
perl -MCPAN -e shell
install nazwa_modułu

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

LinuxBox [root@router] / #
quit

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

LinuxBox [root@router] / #
cd /usr/src/smokeping

Opcje konfiguracyjne pakietu

LinuxBox [root@router] /usr/src/smokeping #
./configure --prefix=/usr --sysconfdir=/etc/smokeping --libdir=/usr/lib64/perl \
--with-htdocs-dir=/var/www/htdocs/smokeping

Instalacja

LinuxBox [root@router] /usr/src/smokeping #
gmake install
cd /

To tyle jeśli chodzi o samą instalację statystyk granicznych SmokePing, na kolejne stronie przedstawię podstawą konfigurację i uruchomienie statystyk obrazujących wykresy odpowiedzi ping na hosta skonfigurowane 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 odwiedza tą skromną stronkę.

Top