Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
FAQ
Know How
Testberichte
Hardware-DB
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Netzwerktechnik Forum

Forum Netzwerktechnik (Archiv)

Kategorie Netzwerktechnik - Forum Wettbewerb

 
[2. Platz] SmokePing mit Slackware Linux 10

geschrieben am 11.06.2006 um 23:47 von puppet

SmokePing mit Slackware Linux 10.x

Da SmokePing auf der Hauptseite ja schon angesprochen wurde aber noch nichts genaueres zur (für Einsteiger nicht gerade einfachen) Installation gesagt wurde habe ich dazu mal ein kleines Tutorial zusammengestellt.
Es gibt zwar jede Menge zu tun, aber mit etwas Zeit stellt die Installation mit dem Tutorial keine großen Probleme dar.

Die Gesamtdauer für die Installation beträgt ca. 30 Minuten.

Voraussetzungen:
- Installiertes und Betriebsbereites Slackware Linux 10.x-System
- Apache HTTP-Server (von Slackware-Current)
- SmokePing-Sources (Homepage, Download v2.0.4)
- RRDtool-Sources (Homepage, Download v1.2.11)
- cgilib-Sources (Homepage, Download v0.5)
- fping-Sources (Homepage, Download v2.4b2)

Vorbereitung
Apache HTTP Server
Je nach Installationstyp kann der Apache HTTP Server bereits auf dem System installiert sein. Bei der Standardinstallation (Full) ist dieser schon installiert, wird aber nicht als Daemon (Dienst) gestartet.
Falls das Setup von den Original Installations-CDs durchgefuehrt wurde sollte man den HTTP Server auf jeden Fall auf den aktuellen Stand bringen.
Um den Apache HTTP Server zu installieren oder zu updaten einfach die entsprechenden Packages aus dem Slackware-Current-Tree runterladen (Apache befindet sich im Tree /slackware-current/slackware/n/ und db4 in /slackware-current/slackware/l/) und im selbigen Verzeichnis mit pkgtool die Packages installieren:

(1) In der Console als root die aktuellen Packages mit wget herunterladen (hier die zum Zeitpunkt der Erstellung des Tutorials aktuellen Versionen):

Code:
# wget http://ftp.gwdg.de/pub/linux/slackware/slackware-current/slackware/n/apache-1.3.36-i486-1.tgz
# wget http://ftp.gwdg.de/pub/linux/slackware/slackware-current/slackware/l/db44-4.4.20-i486-1.tgz

(2) pkgtool aufrufen
Code:
# pkgtool

(3) Current waehlen
(4) Bei "Apache HTTP Server" und "db4" Yes waehlen
(5) Sollten keine Fehler aufgetreten sein landet man ohne Meldung wieder in der Console


Jetzt folgende Schritte damit der Apache HTTP Server beim Systemstart auch mitgestartet wird und weiterhin testen wir gleich ob er auch richtig laeuft:
(1) In das Verzeichnis /etc/rc.d wechseln
(2) Mit ls -lisa rc.httpd schauen welche Rechte fuer die Datei rc.httpd gesetzt sind - per default sollte dies 644 sein und muss somit angepasst werden
(3) Die Datei mit chmod 744 rc.httpd ausfuehrbar machen
(4) Apache HTTP Server mit ./rc.httpd start starten
(5) Wenn dies gelingt sollte die Meldung "httpd startet" erscheinen, mit ps ax | grep httpd kann geprueft werden ob dieser auch wirklich laeuft

Weiterhin sollte von einem anderen Rechner (oder vom lokalen) geprueft werden ob der Webserver erreichbar ist. Dazu einfach den Browser oeffnen und als Adresse die IP Adresse des Linux-Rechners eingeben.
Falls bereits Einstellungen am Paketfilter (netfilter, iptables) vorgenommen wurden muss fuer den Webserver noch eine Regel erstellt werden.

Installation von fping
(1) fping herunterladen (vorher wieder nach /root bzw. ~ wechseln)
Code:
# wget http://web162.servana.de/files/fping.tar.gz

(2) fping entpacken
Code:
# tar xzf fping.tar.gz

(3) Nach fping-2.4b2_to wechseln
Code:
# cd fping-2.4b2_to

(4) fping zum kompilieren vorbereiten
Code:
# ./configure

(5) fping kompilieren und installieren
Code:
# make
# make install




Installation von RRDtool
RRDtool benoetigt zunaechst cgilib-0.5.
(1) cgilib-0.5 herunterladen
Code:
# wget http://web162.servana.de/tools/cgilib-0.5.tar.gz

(2) cgllib-0.5 entpacken
Code:
# tar xzf cgilib-0.5.tar.gz

(3) Nach cgilib-0.5 wechseln
Code:
# cd cgilib-0.5

(4) cgilib-0.5 kompilieren
Code:
# make

(5) Gesamtes Verzeichnis nach /usr/local verschieben
Code:
# cd ..
# mv cgilib-0.5 /usr/local


(6) RRDtool herunterladen
Code:
# wget http://web162.servana.de/files/rrdtool-1.2.11.tar.gz

(7) RRDtool entpacken
Code:
# tar xzf rrdtool-1.2.11.tar.gz

(8) RRDtool zum kompilieren vorbereiten
Code:
# cd rrdtool-1.2.11
# export CPPFLAGS=-I/usr/local/cgilib-0.5
# export LDFLAGS=-L/usr/local/cgilib-0.5
# ./configure --prefix=/usr/local/rrdtool



Wenn alles geklappt hat sollten diese Meldungen erscheinen:


(9) RRDtool kompilieren und installieren
Code:
# make
# make install

(10) Systemumgebung anpassen
Code:
# export PATH=$PATH:/usr/local/rrdtool/bin
# echo /usr/local/rrdtool/lib >> /etc/ld.so.conf
# ldconfig




SmokePing installieren

(1) SmokePing herunterladen (vorher wieder nach /root oder ~ wechseln)
Code:
# wget http://web162.servana.de/files/smokeping-2.0.4.tar.gz

(2) SmokePing entpacken
Code:
# tar xzf smokeping-2.0.4.tar.gz

(3) SmokePing nach /usr/local/smokeping verschieben und dorthin wechseln
Code:
# mv smokeping-2.0.4 /usr/local/smokeping
#cd /usr/local/smokeping

(4) Dort die Datei bin/smokeping.dist zu bin/smokeping umbennen
Code:
# mv bin/smokeping.dist bin/smokeping

(5) Die bin/smokeping in einen Editor laden, fuer den Anfang nehmen wir mal pico
Code:
# pico bin/smokeping



(6) Diese Datei muessen wir nun entsprechend unseres Systems wie folgt anpassen (Rot markierte Stellen muessen geaendert werden!):
Quote:
#!/usr/bin/perl -w
# -*-perl-*-

use lib qw(/usr/local/rrdtool/lib/perl);
use lib qw(/usr/local/smokeping/lib);


use Smokeping 2.000004;

Smokeping::main("/usr/local/smokeping/etc/config");

(7) Sobald die Änderungen getaetigt sind koennen wir die Datei speichern und und den Editor verlassen.
Dazu einfach STRG+X druecken, die Frage mit Y beantworten und den Pfad bin/smokeping mit ENTER bestaetigen.

Achtung: In diesem Bildern hat sich in Zeile 5 der Fehlerteufel eingeschlichen - Es fehlt auf dem Bilde am Ende die ) hinter lib

(8) Nun die Datei htdocs/smokeping.cgi.dist zu htdocs/smokeping.cgi umbenennen und in einen Editor laden
Code:
# mv htdocs/smokeping.cgi.dist htdocs/smokeping.cgi
# pico htdocs/smokeping.cgi


(9) Diese Datei muss ebenfalls an unser System angepasst werden:
Quote:
#!/usr/bin/perl -w
# -*-perl-*-

use lib qw(/usr/local/rrdtool/lib/perl);
use lib qw(/usr/local/smokeping/lib);

use CGI::Carp qw(fatalsToBrowser);

use Smokeping 2.000004;

Smokeping::cgi("/usr/local/smokeping/etc/config");


(10) Zum Speichern und Beenden wieder STRG+X, danach Y und ENTER druecken


SmokePing konfigurieren

(1) Neue Konfigurations-Datei erstellen (im Verzeichnis /usr/local/smokeping ausfuehren)
Code:
# pico etc/config

(2) Der Aufbau der Konfigurations an einem Beispiel mit FPing erklaert:

Erstellt werden 2 Hauptgruppen: LAN und WAN
Gruppe LAN enthaelt 2 Hosts: Fileserver und Gatekeeper
Rot markierte Stellen sollten angepasst werden!
Blau markierte Stellen dienen zur Erklaerung,
alles was in einer Zeile nach einer # kommt wird von SmokePing ignoriert.

Quote:
*** General ***

# Hauptkonfiguration
owner = MyName
contact = MyName@MyCompany.com
mailhost = smtp.company.com
sendmail = /usr/lib/sendmail
imgcache = /var/www/htdocs/.simg
imgurl = ../.simg
datadir = /usr/local/smokeping/var
piddir = /usr/local/smokeping/var
# Hier sollte die komplette URL fuer die fertige Installation rein,
# die gueltigkeit dieser URL ist aber nicht zwingend erforderlich.

cgiurl = http://toxin.tovdc.local/smokeping.cgi
smokemail = /usr/local/smokeping/etc/smokemail
tmail = /usr/local/smokeping/etc/tmail
# # Fuer Syslog ggf. die Facility aendern, muss aber nicht geaendert werden
syslogfacility = local0
# concurrentprobes = no

*** Alerts ***
# e-Mail Adressangaben fuer Alarm-Meldungen
to = puppet@gmx.org
from = puppet@gmx.org

+bigloss
type = loss
# in percent
pattern = ==0%,==0%,==0%,==0%,>0%,>0%,>0%
comment = suddenly there is packet loss

+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row

+startloss
type = loss
# in percent
pattern = ==S,>0%,>0%,>0%
comment = loss at startup

+rttdetect
type = rtt
# in milli seconds
pattern = <10,<10,<10,<10,<10,<100,>100,>100,>100
comment = routing mesed up again ?

*** Database ***
# Zeit zwischen den Abfragen (step, Angabe in Sekunden)
# und Anzahl der PING-Anforderungen pro Abfrage (pings).
# Im Beispiel werden also alle 2 Minuten 10 PING-Anfragen geschickt

step = 120
pings = 10

# consfn mrhb steps total

AVERAGE 0.5 1 1008
AVERAGE 0.5 12 4320
MIN 0.5 12 4320
MAX 0.5 12 4320
AVERAGE 0.5 144 720
MAX 0.5 144 720
MIN 0.5 144 720

*** Presentation ***

template = /usr/local/smokeping/etc/basepage.html

+ overview

width = 600
height = 50
range = 12h

+ detail

width = 600
height = 200
unison_tolerance = 2

# Hier wird die Abdeckung der einzelnen Graphen festgelegt:
# "Name des Graphs" Zeitspanne

"Last 3 Hours" 3h
"Last 24 Hours" 24h
"Last 7 Days" 7d
"Last 30 Days" 30d
"Last 365 Days" 365d

*** Probes ***
+ FPing
binary = /usr/local/sbin/fping

*** Targets ***

probe = FPing

# Einstellungen fuer die Startseite
menu = Top
# Ueberschrift: Latenz im LAN
title = Latenz im LAN
# Normaler Text unter der Ueberschrift
remark = Bitte eine Gruppe auf der linken Seite auswaehlen

# Mit einem einzelnen + wird ein neuer Haupteintrag erstellt, in diesem Falle die Gruppe "LAN".
# Die Bezeichnung hinter dem + dient zur internen Bearbeitung von SmokePing und sollte keine Leer- und Sonderzeichen enthalten.
# Die Bezeichnung hinter menu erscheint auf der linken Seite im AUswahlmenue und title auf der Hauptseite sobald die Gruppe ausgewaehlt wurde.

+ LAN
menu = Lokal
title = Lokales Netzwerk

# Jetzt wird der Gruppe "LAN" durch ++ ein Host neuer Host hinzugefuegt, hier: "Fileserver"
# Wie oben sollte die Bezeichnung hinter ++ keine Leer- und Sonderzeichen beinhalten.
# menu und title haben die gleiche Bedeutung wie oben beschrieben.
# Das Feld host gibt den Hostnamen oder die IP-Adresse des Ziels an welches Abfragt werden soll.
# Weiter unten wird ein zweiter Host Namens "Gatekeeper" hinzufuegt, diesmal allerdings mit Hostname anstatt einer IP-Adresse.
# Der Hostname sollte sich natuerlich aufloesen lassen.

++ Fileserver
menu = Fileserver
title = Datenlager
host = 192.168.0.1

++ Gatekeeper
menu = Gatekeeper
title = Der Tuersteher
host = gatekeeper.tovdc.local

# Jetzt fuegen wir der ganzen Sache noch eine zweite Gruppe hinzu, welcher gleich noch ein Host hinzugefuegt wird.
+ WAN
menu = Internet
title = Internet

++ NetworkLab
menu = NetworkLab
title = NetworkLab - Das Netzwerkportal
host = www.nwlab.net

Diese Beispielkonfiguration kann auch hier heruntergeladen werden: http://web162.servana.de/files/config
Diese kann man auch gleich als Datei config im Verzeichnis /usr/local/smokeping/etc/ speichern und entsprechend mit einem Editor anpassen.

Abschließende Arbeiten
(1) Image-Chache-Verzeichnis erstellen und Rechte anpassen
Code:
# mkdir /var/www/htdocs/.simg
# chmod 777 /var/www/htdocs/.simg

(2) SmokePing um das var-Verzeichnis erweitern
Code:
# mkdir /usr/local/smokeping/var

(3) SmokePing in das WebServer-Verzeichnis kopieren und Rechte anpassen
Code:
# cp /usr/local/smokeping/htdocs/smokeping.cgi /var/www/cgi-bin
chmod 755 /var/www/cgi-bin/smokeping.cgi

(4) HTML-Dokument einrichten, dazu entweder die /usr/local/smokeping/etc/basepage.html.dist zu /usr/local/smokeping/etc/basepage.html umbennen, oder die Standard-Datei herunterladen:
Code:
# cd /usr/local/smokeping/etc
# wget http://web162.servana.de/files/basepage.html

(5) E-Mail Settings taetigen, wobei die Default-Einstellungen auch OK sind und wir dabei bleiben
Code:
# cd /usr/local/smokeping/etc
# mv smokemail.dist smokemail
# mv tmail.dist tmail


Fertigstellen der Installation
Nun ist SmokePing einsatzbereit.
Aufgerufen wird es nun mit:
Code:
# /usr/local/smokeping/bin/smokeping


Wenn alles erfolgreich war sollte SmokePing anzeigen welche genauigkeit FPing zurueck gibt, wohin Ereignisse geloggt werden und das es jetzt im Hintergrund arbeitet.


Jetzt kann man testen ob wirklich alles glatt gelaufen ist.
Dazu den Browser oeffnen und als URL hinter der IP-Adresse cgi-bin/smokeping.cgi eingeben,
z.B.: http://localhost/cgi-bin/smokeping.cgi oder http://192.168.10.50/cgi-bin/smokeping.cgi

Wenn man nun eine Seite mit aehnlichem Aussehen wie die folgende bekommt hat alles funktioniert:


Waehrend SmokePing nun arbeitet koennen wir noch dafuer sorgen, dass es beim Systemstart automatisch gestartet wird.

(1) Die Datei /etc/rc.d/rc.local in einem Editor oeffnen
Code:
# pico /etc/rc.d/rc.local

(2) Folgende Zeilen ans Ende der Datei schreiben:
Code:
echo "Starting SmokePing:  /usr/local/smokeping/bin/smokeping"
/usr/local/smokeping/bin/smokeping

(3) Die Datei speichern und den Editor verlassen (STRG+X -> Y -> ENTER)


Hinweise
(1) Wenn man Änderungen an der Konfigurationsdatei gemacht hat (z.B. neue Hosts hinzugefuegt) muss man SmokePing nicht unbedingt "killen" und neustarten, dazu kann man einfach in der Console folgendes eingeben:
Code:
/usr/local/smokeping/bin/smokeping --reload

Dies veranlasst SmokePing alle Konfigurationsdateien neu einzulesen.

Hier noch einige Bilder des fertigen Ergebnisses:

 

[ Dieses Thema im Live-Forum aufrufen ]

Sie befinden sich im Archiv des Forums.
Zum Forum

Archiv erstellt mit phpBB2HTML 0.1 - Foren in statisches HTML umwandeln © 2006 Mirko Kulpa

 

 
© 2004-2023, network lab - we make your net work - Netzwerkforum
aktualisiert am 13.05.2019