language: de / deutsch / german select other language back to the projects homepage

TraffStats HowTo

oder:

den Datenverkehr im Auge behalten

Eine kurze Einführung zur Installation, Konfiguration und Benutzung von TraffStats

Version: $Id: index.html,v 1.35 2008-04-04 10:42:48 zerwes Exp $
© 2007 Klaus Zerwes zero-sys.net
distributed under the terms of the GNU Free Documentation License.
See http://www.gnu.org/copyleft/fdl.html.

Support TraffStats: TraffStats hosted by:

Inhalt:
Vorwort
TraffStats ist eine datenbankgestützte Software zur Messung und Auswertung von Netzwerk-Datenverkehr.
Eigenschaften:
Alle Angaben in diesem HowTo beziehen sich auf die aktuelle Version von TraffStats: Version 0.10.2
Eine jeweils aktuelle Version dieses HowTos kann auf der Projektseite eingesehen werden!
Alle Angaben in diesem HowTo sind ohne Gewähr!
Erklärungen zur verwendeten Syntax:
Im nachfolgenden HowTo gelten folgende Konventionen:
zum Inhaltsverzeichnis
1. Installation
1.1 Voraussetzungen

TraffStats benötigt folgende Komponenten:
zum Inhaltsverzeichnis
1.2 Installation

Die jeweils aktuelle Version von TraffStats können sie hier herunterladen:
TraffStats Projektseite auf sourceforge.net

TraffStats wird im Moment wie folgt ausgeliefert:
1.2.1 Installation der Basisversion

Nach dem Sie die aktuelle Version von TraffStats heruntergeladen haben, entpacken Sie diese in ein Verzeichnis welches sie über den HTTP-Server erreichen können. z.B. /var/www/:
tar xz -f TraffStats-0.10.2-core.tgz -C /var/www/
Zwecks Vereinfachung der URL zum Zugriff auf die Web-Applikation können das TraffStats-0.10.2-Verzeichis verlinken:
ln -sv /var/www/TraffStats-0.10.2/ /var/www/traffstats

Wechseln Sie in das neu erstellte TraffStats-Verzeichnis; alle weiteren Beispiele haben dieses Verzeichnis als Ausgangspunkt.
cd /var/www/TraffStats-0.10.2

Sollten Sie eine alte Version von TraffStats installiert haben, aber eine Neuinstallation wünschen, müssen Sie vorher die Datenbank und den Datenbankbenutzer löschen, es sei denn Sie möchten ein Upgrade durchführen. (siehe: 1.3 Upgrade)
Hierfür gibt es 2 Hilfsskripte, die Sie wie folgt anwenden können: (Achtung: führen Sie diese Schritte NICHT durch, wenn Sie ein Upgrade vornehmen möchten!)
mysql -u root -p < sql/99_dropdatabase.sql; mysql -u root -p < sql/99_dropuser.sql;

Datenbank erstellen: (Achtung: führen Sie diese Schritte NICHT durch, wenn Sie ein Upgrade vornehmen möchten!)
Um die Datenbank und die Datenbankbenutzer zu erstellen, benutzen Sie bitte folgende Befehle:
mysql -u root -p < sql/00_create-traffstats-db.sql; mysql -u root -p < sql/01_createuser.sql;

Anpassung der Dateirechte
Sämtliche Dateien, die sensitive Informationen (Datenbankpasswörter usw.) enthalten, sollten möglichst restriktive Rechte zugewiesen bekommen, um Unbefugten den Zugriff auf diese zu verwehren.
Die Datei config/config.php sollte nur vom Benutzeraccount, unter dessen ID der Webserver läuft, lesbar sein. z.B.:
chown root.www-data config/config.php; chmod 640 config/config.php;
Die Datei collector/collector.pl sollte nur vom Benutzeraccount, unter dessen ID später der cron-Job zur Datensammlung läuft, les- und ausführbar sein (root). z.B.:
chown root collector/*.pl; chmod 700 collector/*.pl;
1.2.1.1 Zusätzliche Software - JPGraph

Um den vollen Funktionsumfang von TraffStats benutzen zu können, benötigen Sie noch JpGraph. Diese Bibliothek können Sie hier herunterladen.
JpGraph wird in 2 Versionen ausgeliefert. Die Versionen 1.x für PHP4 und Versionen 2.x für PHP5. Bitte laden Sie die Ihrer PHP-Version entsprechende JpGraph-Version herunter.
 
Sollten Sie eine bereits bestehende Installation von JpGraph besitzen, lesen Sie bitte unter dem Punkt "Installation in ein externes Verzeichnis" nach, wie Sie diese für TraffStats nutzen können.
 
Zur Installation von JpGraph haben Sie 2 Möglichkeiten:
  1. Installation in das TraffStats-Verzeichnis Diese Möglichkeit bietet sich insbesondere dann an, wenn Sie JpGraph nur für TraffStats nutzen wollen.
    Vorhergehensweise: Entpacken Sie das heruntergeladene JpGraph-Archiv und erstellen Sie einen symbolischen Link jpgraph zu dem src-Unterverzeichnis des JpGraph-Verzeichnis:
    tar xz -f jpgraph-x.y.tar.gz; ln -sv jpgraph-x.y/src/ jpgraph;
    (ersetzen Sie in beiden Befehlszeilen x.y mit der verwendeten JpGraph-Versionsnummer und passen Sie gegebenenfalls die Pfadangaben an)
  2. Installation in ein externes Verzeichnis: Diese Möglichkeit bietet sich insbesondere dann an, wenn Sie beabsichtigen JpGraph auch für andere Projekte einzusetzen.
    Vorhergehensweise: Extrahieren des JpGraph-Paketes in ein externes Verzeichnis (z.B.: /usr/local/share/jpgraph-x.y wobei x.y für die entsprechende Version steht)
    tar xz -f jpgraph-x.y.tar.gz -C /usr/local/share/;
    Anschließend haben Sie nun 2 Möglichkeiten diese JpGrap-Version für TraffStats zu nutzen: (ersetzen Sie in beiden Fällen x.y mit der verwendeten JpGraph-Versionsnummer und passen Sie gegebenenfalls die Pfadangaben an)
    1. Erstellen Sie einen symbolischen Link jpgraph zu dem src-Verzeichnis der JpGraph-Installation ins Installations-Verzeichnis von Traffstats:
      ln -sv /usr/local/share/jpgraph-x.y/src/ jpgraph;
    2. Editieren Sie die Datei config/graphconfig.php und ändern Sie den Wert der Variable TRAFFSTATS__JPGRAPH
      define("TRAFFSTATS__JPGRAPH", "/usr/local/share/jpgraph-x.y/src/");
1.2.1.2 Zusätzliche Software - Microsoft TrueType core fonts

Die benötigten Schriftarten finden sie unter: corefonts.sourceforge.net Sie benötigen nur Arial und Courier um UTF Zeichen in den Grafiken richtig darstellen zu können.
cabextract können sie von www.cabextract.org.uk hreunterladen.
mkdir ttf; cd ttf; wget http://downloads.sourceforge.net/corefonts/arial32.exe; wget http://downloads.sourceforge.net/corefonts/courie32.exe; cabextract -q arial32.exe; cabextract -q courie32.exe; for i in Arial*.TTF; do LCF=`echo $i | tr [:upper:] [:lower:]`; ln -sv $i $LCF; done;
Wenn sie die Schriften bereits in einem anderen Verzeichnis installiert haben, können sie:
  1. einen symbolischen Link in das Installations-Verzeichnis von Traffstats erstellen:
    ln -sv /usr/share/fonts/truetype/msttcorefonts ttf;
  2. die Datei config/graphconfig.php editieren und den Wert der Variable TTF_DIR anpassen:
    define("TTF_DIR", "/usr/share/fonts/truetype/msttcorefonts/");
1.2.2 Installation der Bundle-Version

Laden Sie bitte die der benutzten PHP-Version entsprechende TraffStats-Bundle-Datei herunter.
Folgen Sie bitte der Anleitung im Kapitel Installation der Basisversion und überspringen Sie lediglich den Abschnitt bezüglich der Installation von JpGraph und der Schriften.
1.2.3 Installation als deb-Paket

Die deb-Pakete wurden für Debian etch (4.0) entwickelt. Tests auf testing und unstable (lenny und sid) stehen noch aus.
Es existiert auch ein experimentelles Repository. Wenn sie dieses benutzen möchten, tragen Sie bitte folgende Zeile in die Datei /etc/apt/sources.list ein:
deb http://zero-sys.net/deb/traffstats/ ./
Um den Schlüssel der für die Signierung der Pakete verwendet wurde zu importieren, geben Sie bitte folgende Befehle als root ein:
gpg --keyserver subkeys.pgp.net --recv-key ED7D414C ; gpg --export --armor ED7D414C | apt-key add - ;

Liste der Dateien (deb-Pakete):
  • traffstats_0.10.2_all.deb - traffstats
  • JpGraph 2.x für die Verwendung mit PHP5
    • libphp-jpgraph2_2.3-1_all.deb
    • libphp-jpgraph2-examples_2.3-1_all.deb
    • libphp-jpgraph2-doc_2.3-1_all.deb
  • JpGraph 1.x für die Verwendung mit PHP4
    • libphp-jpgraph1_1.22-3_all.deb
    • libphp-jpgraph1-examples_1.22-3_all.deb
Um TraffStats für PHP5 zu installieren benötigen Sie die Dateien traffstats_0.10.2_all.deb und libphp-jpgraph2_2.3-1_all.deb.
Installieren Sie die benötigten Pakete:
apt-get install apache2 php5 libapache2-mod-php5 php5-gd php5-snmp php5-mysql \ libnet-snmp-perl libdbd-mysql-perl debianutils dbconfig-common debconf ucf \ mysql-server msttcorefonts
Installieren Sie JpGraph:
dpkg -i libphp-jpgraph2_2.3-1_all.deb
Wenn sie lieber das Repository verwenden möchten:
apt-get install libphp-jpgraph2
Installieren Sie TraffStats:
dpkg -i traffstats_0.10.2_all.deb
oder via Repository:
apt-get install traffstats

Analog wäre das Vorgehen für PHP4:
Laden sie folgende Dateien herunter: traffstats_0.10.2_all.deb und libphp-jpgraph1_1.22-3_all.deb.
Installieren Sie die benötigten Pakete:
apt-get install apache2 php4 libapache2-mod-php4 php4-gd php4-snmp php4-mysql \ libnet-snmp-perl libdbd-mysql-perl debianutils dbconfig-common debconf ucf \ mysql-server msttcorefonts
Installieren Sie JpGraph:
dpkg -i libphp-jpgraph1_1.22-3_all.deb
Wenn sie lieber das Repository verwenden möchten:
apt-get install libphp-jpgraph1
Installieren Sie TraffStats:
dpkg -i traffstats_0.10.2_all.deb
oder via Repository:
apt-get install traffstats

Bei der Installation von TraffStats können Sie die erforderlichen Datenbanken automatisch erstellen lassen und die erforderlichen Konfigurationseinstellungen für den Webserver automatisch erledigen lassen. Sollten Sie diesen bequemen Weg wählen, können Sie gleich nach der Installation mit dem Punkt Erste Anmeldung fortfahren.
zum Inhaltsverzeichnis
1.3 Upgrade

Upgrades müssen immer Schrittweise vollzogen werden.
1.3.1 Upgrade einer bestehenden Version 0.4 - 0.6/0.7/0.8

Da mit der Veröffentlichung der TraffStats-Version 0.6 viele neue Features implementiert wurden, hat sich leider auch eine grundlegende Änderung der Datenbankstruktur ergeben.
Dieser Umstand erschwert einen Update-Vorgang erheblich!
Sollten Sie die bereits mit der Version 0.4 aufgezeichneten Daten missen können, wird eine Neuinstallation empfohlen!
Sollten Sie sich trotz dem für ein Upgrade entscheiden, stehen Ihnen dafür 2 Möglichkeiten zur Verfügung:
  1. Sicherung der Daten mit anschließender Neuinstallation und Rückspielung der gesicherten Daten.
    Dieses Vorgehen hat den Nachteil, dass sämtliche Userinformationen verloren gehen, aber die Datenbankstruktur komplett neu erstellt wird.
    Gehen Sie bitte wie folgt vor:
    1. Deaktivieren Sie den Cron-Job für den collector.
    2. Sichern sie die Daten für Hosts, Interfaces und die aufgezeichneten Statistiken
      mysqldump -u root -p -n -t -Q --compact -c traffstats host interface stats -r /tmp/ts-back.sql;
    3. Melden Sie sich gegebenenfalls aus dem Webinterface von TraffStats ab!
    4. Löschen Sie sämtliche alten Dateien und folgen Sie den Anweisungen zur Neuinstallation von TraffStats einschließlich der Anweisung zum Löschen der alten Datenbank!
    5. Nach erfolgreicher Neuinstallation spielen Sie bitte das Backup zurück
      mysql -u root -p traffstats < /tmp/ts-back.sql;
    6. Melden Sie sich bei dem TraffStats Webinterface an.
      Zuerst sollten Sie die Daten für jedes Interface der neuen Datenbankstruktur entsprechend anpassen.
      Als Hilfestellung empfiehlt es sich für jeden Host einen Vergleich Datenbank / SNMP entsprechend der Beschreibung durchzuführen.
      Anschließend müssen Sie nun die nachträgliche Konfiguration entsprechen der Beschreibung unter Host-Konfiguration durchführen! Für jeden Host müssen Sie folgende Einstellungen vornehmen: "Namens-Darstellung" für Host und Interfaces definieren und "Konsistenz-Prüffelder" bestimmen oder gegebenenfalls die "Durchführung der Konsistenzprüfung" deaktivieren.
    7. Führen Sie einen Testdurchlauf des collectors durch:
      ./collector/collector.pl;
      Sollte dieser ohne Fehlermeldungen ablaufen, können Sie den Cron-Job für den collector wieder aktivieren (Anleitung siehe: Cron-Job für den Collector einrichten).
  2. Upgrade der Datenbankstruktur
    Diese Variante hat den Vorteil, dass sämtliche Daten erhalten bleiben, allerdings bleiben minimalste Abweichungen in der Datenbankstruktur im Vergleich zu einer Neuinstallation bestehen.
    Gehen Sie bitte wie folgt vor:
    1. Deaktivieren Sie den Cron-Job für den collector.
    2. Melden Sie sich gegebenenfalls aus dem Webinterface von TraffStats ab!
    3. Löschen Sie sämtliche alten Dateien und folgen Sie den Anweisungen zur Neuinstallation von TraffStats ausschließlich der Anweisung zum Löschen der alten Datenbank und den Anweisungen zur Erstellung der Datenbank!
    4. Nach erfolgreicher Installation spielen Sie bitte das Update-Skript ein:
      mysql -u root -p traffstats < sql/update-v0.4.sql;
    5. Melden Sie sich bei dem TraffStats Webinterface an.
      Zuerst sollten Sie die Daten für jedes Interface der neuen Datenbankstruktur entsprechend anpassen.
      Als Hilfestellung empfiehlt es sich für jeden Host einen Vergleich Datenbank / SNMP entsprechend der Beschreibung durchzuführen.
      Anschließend müssen Sie nun die nachträgliche Konfiguration entsprechen der Beschreibung unter Host- und Interface-Konfiguration durchführen! Für jeden Host müssen Sie folgende Einstellungen vornehmen: "Namens-Darstellung" für Host und Interfaces definieren und gegebenenfalls "Konsistenz-Prüffelder" bestimmen und die "Durchführung der Konsistenzprüfung" aktivieren.
    6. Führen Sie einen Testdurchlauf des collectors durch:
      ./collector/collector.pl;
      Sollte dieser ohne Fehlermeldungen ablaufen, können Sie den Cron-Job für den collector aktivieren (Anleitung siehe: Cron-Job für den Collector einrichten).
1.3.2 Upgrade einer bestehenden Version 0.6/0.7 - 0.8

Um einen Fehler in der Datenbankstruktur zu beheben, spielen Sie bitte das Update-Skript ein:
mysql -u root -p traffstats < sql/update-v0.7.sql;
Melden Sie sich danach erneut am TraffStats-System an.
1.3.3 Upgrade einer bestehenden Version 0.8/0.9.x - 0.10.0

Die Einführung neuer Features erfordert ein Anpassung der Datenbank-Struktur. Wenn sie das Upgrade über ein .deb-Paket vornehmen, wird die Datenbank automatisch angepasst. Ansonsten gehen Sie bitte wie folgt vor:
  1. Vom TraffStats-System abmelden
  2. Datenbank anpassen mit Hilfe des Update-Skripts:
    mysql -u root -p traffstats < sql/update-v0.9.1.sql;
  3. Melden Sie sich danach erneut am TraffStats-System an.
Um einen Fehler des collector-Skriptes in den vorhergehenden Versionen (bis einschliesslich 0.9.1) zu beheben führen Sie bitte das Skript collector/fixSysUpTime.pl aus. Achtung: die Ausführung des Skriptes kann einige Zeit in Anspruch nehmen und u.U. das System belasten!
1.3.4 Upgrade einer bestehenden Version 0.10.0/0.10.1 - 0.10.2

Die Einführung neuer Benutzerrechte erfordert ein Anpassung der Datenbank-Struktur. Wenn sie das Upgrade über ein .deb-Paket vornehmen, wird die Datenbank automatisch angepasst. Ansonsten gehen Sie bitte wie folgt vor:
  1. Vom TraffStats-System abmelden
  2. Datenbank anpassen mit Hilfe des Update-Skripts:
    mysql -u root -p traffstats < sql/update-v0.10.1.sql;
  3. Melden Sie sich danach erneut am TraffStats-System an.
1.3.5 Upgrade einer bestehenden Version 0.10.2 - 0.11.0

Die Einführung unterscheidlicher Layouts erfordert ein Anpassung der Datenbank-Struktur. Wenn sie das Upgrade über ein .deb-Paket vornehmen, wird die Datenbank automatisch angepasst. Ansonsten gehen Sie bitte wie folgt vor:
  1. Vom TraffStats-System abmelden
  2. Datenbank anpassen mit Hilfe des Update-Skripts:
    mysql -u root -p traffstats < sql/update-v0.10.2.sql;
  3. Melden Sie sich danach erneut am TraffStats-System an.
1.3.6 Upgrade einer bestehenden Version 0.11.0 - 0.11.1

Die Einführung neuer features erfordert ein Anpassung der Datenbank-Struktur. Wenn sie das Upgrade über ein .deb-Paket vornehmen, wird die Datenbank automatisch angepasst. Ansonsten gehen Sie bitte wie folgt vor:
  1. Vom TraffStats-System abmelden
  2. Datenbank anpassen mit Hilfe des Update-Skripts:
    mysql -u root -p traffstats < sql/update-v0.11.0.sql;
  3. Melden Sie sich danach erneut am TraffStats-System an.
Lesen sie bitte auch den Abschnitt 1.2.1.2 Zusätzliche Software - Microsoft TrueType core fonts
zum Inhaltsverzeichnis
1.4 Erste Schritte nach der Installation

1.4.1 Cron-Job für den Collector einrichten

Um Datenerhebungen in regelmäßigen Intervallen durchzuführen, müssen Sie einen Cron-Job für das collector-Skript einrichten.
Erstellen Sie z.B. eine Datei /etc/cron.d/traffstats mit folgendem Inhalt:
# traffstats every 10 min 5,15,25,35,45,55 * * * * root /var/www/traffstats/collector/collector.pl
An Stelle der Liste 5,15,25,35,45,55 können Sie auch */10 schreiben um den Cron-Job alle vollen 10 Minuten auszuführen.
Die Ausführungshäufigkeit können Sie natürlich anpassen, z.B.: */5 um den Cron-Job alle 5 Minuten auszuführen oder */15 für einen Viertelstunden-Takt. (Siehe auch: Anmerkungen zum Ausführungstakt für den collector)
Nach Erstellung bzw. Änderungen an der Cron-Job Datei /etc/cron.d/traffstats müssen sie den crond neu starten, um die Änderungen zu übernehmen:
/etc/init.d/cron reload
1.4.2 Erste Anmeldung

Zur erstmaligen Anmeldung über das Web-Interface nach einer Neuinstallation benutzen Sie bitte folgende Daten:
Benutzername: admin
Passwort: adminpasswd

Ändern Sie das Passwort bitte sofort nach der ersten Anmeldung über den Menü-Punkt:
Benutzerverwaltung / Useradministration -> Passwort ändern / change password (siehe auch: Benutzerverwaltung)
zum Inhaltsverzeichnis
2. Konfiguration
2.1 Menü-Punkt Hosts: Konfiguration von Hosts und Interfaces

Dreh- und Angelpunkt der Datenerfassung und -auswertung bilden sogenannte "Hosts". Als "Hosts" werden im Folgenden Netzwerkkomponenten verstanden, die ein oder mehrere Netzwerk-Interfaces besitzen und über eine SNMP-Schnittstelle verfügen. Ein solcher "Hosts" kann ein gewöhnlicher Rechner (Arbeits-PC), ein Server, ein Switch, ein Router oder ein andere Netzwerkkomponente sein. TraffStats benötigt nur eine Leseberechtigung für die SNMP-Schnittstelle der Netzwerkkomponente und verwendet Version 2c des SNMP-Protokolls.
 
Wie Sie die jeweiligen Netzwerkkomponenten so konfigurieren, dass ein lesender Zugriff auf deren SNMP-Schnittstele möglich ist, entnehmen sie bitte der Dokumentation des Gerätes.
2.1.1 Benutzung des "Host-Wizard"

Die einfachste Möglichkeit Hosts und dazugehörige Interfaces hinzuzufügen ist der sogenannte "Host-Wizard". Dieser benötigt allerdings die SNMP-Funktionen von PHP, die Sie gegebenenfalls als Modul nachinstallieren müssen.
Tragen Sie in der Host-Wizard Eingabemaske folgenden Daten ein:
  • IP: IP der abzufragenden Netzwerkkomponente
  • SNMP community: die SNMP-Community für SNMP-Version 2c (z.B.:privatecommunity)
  • Port: den Port des SNMP-Servers der Netzwerkkomponente (Voreinstellung von 161 entspricht dem Standard und sollte im Allgemeinen unverändert bleiben)
Host-Wizard Eingabemaske
Nach dem Sie auf "absenden" geklickt haben, versucht der Host-Wizard die notwendigen Daten von der Netzwerkkomponente abzufragen.
Sollten Sie eine Fehlermeldung erhalten, überprüfen Sie bitte alle Eingaben und die Einstellungen der abzufragenden Netzwerkkomponente.
Bei erfolgreicher Abfrage der Daten, erstell der Host-Wizard folgende Komponenten:
  • Host-Datenmaske (Details siehe Host-Konfiguration)
  • Verweis zu einer Farbauswahl (kann für die Farb-Konfiguration der Interfaces verwendet werden) siehe: HTML-Farben der Interfaces und die externe Farbauswahl
  • eine Liste von Interface-Datenmasken (Details siehe Interface-Konfiguration)
    Jede Interfacemaske enthält eine Option zum ignorieren des Interface. Wählen Sie diese Option aus, wenn Sie das Interface komplett ignorieren wollen!
    Host-Wizard Interface Datenmaske - Ausschnitt: Ansicht eines Interface-Elements
    Folgende Felder werden entsprechend den SNMP-Einträgen auf der Netzwerkkomponente ausgefüllt und sollten nur in Ausnahmefällen geändert werden (Benutzen sie das Feld Bemerkungen für eigene Angaben):
    1. SNMP-Nr
    2. Interface-Namen
    3. MAC-Adresse
    4. Beschreibung
    5. IP
    6. Typ
    7. Alias
    Der Host-Wizard versucht die Einstellung für das Feld aktiv entsprechend den Vorgaben des Gerätes vorzugeben. In einzelnen Fällen kann diese Einstellung aber fehlerhaft sein, daher sollten Sie sie überprüfen!
    Die Einstellung für das Feld 64bit Zähler verwenden kann nicht zuverlässig mittels den SNMP-Funktionen von PHP ermittelt werden und wird daher per Voreinstellung auf ja konfiguriert. Passen Sie diese Einstellung gegebenenfalls an. (siehe auch: Anmerkungen: 64bit Zähler)
    Lesen Sie bitte auch Anmerkungen: SNMP-Funktionen von PHP
Nach der Konfiguration der Host- und aller Interface-Daten können Sie diesen Host und alle dazugehörigen Interfaces (außer den als zu ignorierend markierten) speichern indem Sie auf absenden klicken.
Anschließend können Sie die gespeicherte Konfiguration überprüfen, indem Sie einen collector-Durchlauf starten:
./collector/collector.pl;
Sollten Fehler auftreten, korrigieren Sie diese bitte, bis das der collector-Durchlauf ohne Fehlermeldungen durchgeführt werden kann.
2.1.2 Hinzufügen von Hosts und Interfaces

Sie können Hosts und Interfaces natürlich auch manuell hinzufügen.
Dieses ist vor allem dann sinnvoll wenn keine SNMP-Funktionen für PHP installiert sind oder der Host-Wizard versagt.
Um eine neuen Host hinzuzufügen, wählen Sie bitte den Menü-Punkt "neuer Host".
Über die "Host-Liste" und / oder die Host-Ansicht können Sie einem Host manuell Interfaces hinzufügen.
2.1.3 Host-Konfiguration

Hier sehen Sie die Abbildung einer Datenmaske für eine Host-Eintrag im TraffStats-System:
Host Datenmaske
Felder deren Namen fett gedruckt dargestellt werden müssen angegeben werden! (Dieses gilt für alle Formular-Masken.)
Beschreibung der einzelnen Felder:
  • IP: IP der Netzwerkkomponente.
  • Host-Namen: Den Namen der Netzwerkkomponente.
  • SNMP community: Den community-String für den Zugriff auf die SNMP-Schnittstelle der Netzwerkkomponente.
  • Port: Portnummer der SNMP-Schnittstelle der Netzwerkkomponente.
  • aktiv: Auswahlmöglichkeit ja / nein.
    Deaktivierte Hosts werden bei der Datenerfassung ignoriert.
  • Konsistenzprüfung durchführen: Auswahlmöglichkeit ja / nein.
    Diese Einstellung beeinflusst das Verhalten des collectors bei der Datenerfassung. Wenn die Einstellung aktiviert ist, wird bei der Datenerfassung für jedes Interface ein Vergleich der unter Konsistenz-Prüffelder definierten Felder durchgeführt. Sollte eine Abweichung zwischen den im TraffStats-System (Datenbank) gespeicherten Werten und den via SNMP ermittelten festgestellt werden, wird die Datenerfassung für das betroffene Interface abgebrochen und eine Fehlermeldung generiert. Auf diesem Weg können SNMP-Nr Neuzuweisungen bzw. Änderungen festgestellt werden und fehlerhafte Daten vermieden werden.
    (siehe auch: Fehlermeldungen des collector)
  • Konsistenz-Prüffelder: Mehrfach-Auswahl.
    Sie sollten wie in dem Beispiel dargestellt möglichst alle Felder auswählen, um eine möglichst hohe Warnschwelle bei SNMP-Nr Neuzuweisungen bzw. Änderungen zu haben.
  • Namens-Darstellung Host: Mehrfach-Auswahl.
    Hier könne Sie auswählen, welche Felder zur Bildung / Zusammenstellung von "Host-Namen" verwendet werden.
  • Namens-Darstellung Interface: Mehrfach-Auswahl.
    Hier könne Sie auswählen, welche Felder zur Bildung / Zusammenstellung von "Interface-Namen" verwendet werden.
    Beachten Sie bitte, dass bei der Auswahl vieler Felder die "Interface-Namen" in der Darstellung der Statistiken sehr lang werden und dieses den Rahmen des dafür vorgesehenen Platzes sprengen kann!
2.1.4 Interface-Konfiguration

Hier sehen Sie die Abbildung einer Datenmaske für eine Interface-Eintrag im TraffStats-System:
Interface Datenmaske
Felder deren Namen fett gedruckt dargestellt werden müssen angegeben werden! (Dieses gilt für alle Formular-Masken.)
Beschreibung der einzelnen Felder:
  • SNMP-Nr.: Die SNMP-Nummer des Interface.
  • Interface-Namen: Namen des Interface.
  • MAC-Adresse: die MAC Adresse des Interface.
  • Beschreibung: Beschreibung des Interface.
  • IP: IP des Interface (sofern dem Interface eine IP zugewiesen wurde).
    Mehrere IPs sollten durch Leerzeichen getrennt werden.
  • Typ: Typ des Interfaces.
    Kann die erweiterte Form TYPENBEZEICHNUNG(TYPENNR) (z.B. ethernetCsmacd(6)) sein oder nur die Typennummer enthalten. (siehe auch: net-snmp.sourceforge.net)
  • Alias: Alias des Interface.
  • Bemerkung: Bemerkung zum Interface.
    Dieses Feld ist für benutzerdefinierte Bemerkungen und Zusätze gedacht.
  • Farbwert: HTML-Farbwert für die grafische Darstellung des Interface. z.B.: #ee0000 (siehe auch: Anmerkungen: HTML-Farben der Interfaces und die externe Farbauswahl)
  • Ein-/Ausgang vertauschen: Auswahlmöglichkeit ja / nein.
    Sicht des TraffStats-Systems auf das Interface ändern. dabei werden die Werte für Eingangs- und Ausgangs-Datenverkehr vertauscht.
    Ändern Sie diese Einstellung nicht nach dem bereits Daten für das Interface durch den collector erfasst wurden, da Sie sonst falsche Werte bei der nächsten Datenerfassung durch den collector erhalten! Daher überlegen Sie sich die Aktivierung/Deaktivierung dieser Option bei der Erstellung des Interface-Eintrages gut!
    Sollte es sich eine Änderung trotz dem nicht vermeiden lassen, gehen Sie bitte wie folgt vor:
    1. Deaktivieren Sie den entsprechenden Host (dadurch wird dieser von der Datenerfassung ausgeschlossen)
    2. Nehmen Sie die entsprechenden Änderungen an der Interface-Konfiguration vor.
    3. Starten Sie die entsprechende Netzwerkkomponente neu!
    4. Aktivieren Sie den entsprechenden Host wieder (dadurch wird er beim nächsten Durchlauf der Datenerfassung wieder mit einbezogen).
  • 64bit Zähler verwenden: Auswahlmöglichkeit ja / nein.
    Definiert die Verwendung des neuen und besseren 64bit Zählers zur Datenerfassung. Dieser Zähler ist im Vergleich zu dem alten 32bit-Zähler viel besser und zuverlässiger. Daher sollte diese Option nur dann deaktiviert werden, wenn die SNMP-Schnittstelle keinen 64bit-Zähler zur Verfügung stellt. Sollte ein Interface für die Verwendung des 64bit Zählers konfiguriert sein, dieser aber von der SNMP-Schnittstelle nicht bereitgestellt werden, generiert der collector eine entsprechende Fehlermeldung. (siehe auch: Anmerkungen: 64bit Zähler)
  • aktiv: Auswahlmöglichkeit ja / nein.
    Deaktivierte Interfaces werden bei der Datenerfassung ignoriert.
  • default: Auswahlmöglichkeit ja / nein.
    Wenn dieser Schalter auf ja gestellt ist, wird das Interface in der Initial-Ansicht der Statistik aufgelistet. Markieren Sie nur Interfaces deren Beobachtung für Sie sehr wichtig ist mit ja.
2.1.5 Host - Vergleich Datenbank / SNMP

Sollte der collector eine Differenz zwischen den Einstellungen im TraffStats-System und den via SNMP verfügbaren Daten feststellen, generiert er eine entsprechende Fehlermeldung. (siehe: Fehlermeldungen des collector)
Beispiel:
./collector/collector.pl ###################################################################### check failed!!! host :: key: '1' ip: '127.0.0.1' interface :: key: '1'; snmpnr:'2' check failed for field 'interfacename': snmp:'eth0' vs. db:'Ethernet0' ######################################################################
Als Hilfestellung zur Behebung des Fehlers bietet TraffStats die Möglichkeit einen "Vergleich Datenbank / SNMP" durchzuführen. Diese Funktion erfordert allerdings das Vorhandensein der SNMP-Funktionen von PHP!
Dabei wird, ähnlich wie beim "Host-Wizard" eine Liste der Interfaces des Hosts generiert. Als Hilfestellung wird eine Gegenüberstellung der via SNMP verfügbaren Werte erstellt. Diese enthält Hinweise auf festgestellte Unterschiede und die Möglichkeit neue Interfaces zu speichern.
Vergleich Datenbank / SNMP
Durch die Gegenüberstellung können Sie Änderung leicht abgleichen. Lesen Sie hierzu auch bitte den Abschnitt Anmerkungen: SNMP-Nummern
Nach Speicherung der Änderungen sollten Sie erneut einen collector-Durchlauf starten, um die Richtigkeit der gemachten Änderungen zu überprüfen. Wiederholen Sie gegebenenfalls die Prozedur.
zum Inhaltsverzeichnis
2.2 Menü-Punkt Benutzerverwaltung

Im Benutzerverwaltungs-System können Sie:
2.2.1 Benutzerverwaltung

Datenmaske Benutzer
Bei Benutzer-Accounts können Sie folgende Einstellungen vornehmen:
  • Sprache: die Spracheinstellungen des Benutzers ändern.
    Entsprechend dieser Einstellungen wird die Sprache des TraffStats-Systems für den jeweiligen Benutzer ausgewählt.
  • Benutzername: Benutzername / Login des Benutzers.
  • Name: Name des Benutzers.
  • Vorname: Vorname des Benutzers.
  • aktiv: Auswahlmöglichkeit ja / nein.
    Deaktivierte Benutzer können sich nicht am System anmelden!
  • Administrative Rechte: Mehrfachauswahl
    siehe: Verwaltung der administrativen Rechte
2.2.2 Verwaltung der administrativen Rechte

Jedem Benutzer können über die Mehrfachauswahl "Administrative Rechte" unterschiedliche Rechte zugewiesen werden:
  • SUPERADMIN: ein Benutzer mit diesem Rechte-Grad hat folgende Berechtigungen:
    • Erstellung, Bearbeitung und Entfernung von Benutzern
    • Rechte Benutzern zuweisen und entziehen
    • Erstellung, Bearbeitung und Entfernung von Hosts und Interfaces
  • HOSTADMIN: ein Benutzer mit diesem Rechte-Grad hat folgende Berechtigungen:
    • Erstellung, Bearbeitung und Entfernung von Hosts und Interfaces
Benutzer, denen keine Rechte zugewiesen sind können nur die Statistiken einsehen.
Achten Sie darauf, immer mindestens einem Benutzer das SUPERADMIN-Recht zuzuweisen, da Sie sonst dem System keine weiteren Benutzer hinzufügen bzw. keine Änderungen an den bestehenden Benutzern vornehmen können!
zum Inhaltsverzeichnis
3. Statistische Auswertung
3.1 Menüpunkte

Die "Statistik"-Seite bietet folgende Menüpunkte;
3.2 Elemente einer Statistik-Seite

Beispiel einer Statistik-Seite
Eine Statistik-Seite kann man grob in 3 bereiche gliedern:
  1. links den Menübereich
  2. Konfigurations- und Darstellungs-Elemente der statistischen Auswertung (einschließlich der Daten-Tabellen)
  3. Konfigurations-Elemente der grafischen Darstellung
3.2.1 Konfiguration und Interpretation der Statistik-Seite

Konfigurations- und Darstellungs-Elemente einer Statistik-Seite
Die Konfigurations- und Darstellungs-Elemente einer Statistik-Seite lassen sich in 3 Bereiche aufteilen:
  1. Host / Interface Auswahl:
    Über diese Mehrfachauswahl können Sie bestimmen welche Elemente (Host/Interface - Kombinationen) in der Statistik berücksichtigt werden sollen.
  2. Konfigurations-Element für den Darstellungszeitraum
    Über diese Steuer-Elemente können Sie den Darstellungs-Zeitraum definieren.
    Bei Durchschnittsberechnungen können Sie Start- und End-Daten eingeben. Durch Klicken auf die Elemente >> und << können Sie jeweils einen entsprechenden Zeitraum vorwärts bzw. zurück springen.
    Durch Drücken des Knopfes mit der Aufschrift "Statistik Anzeigen" werden Änderungen die Sie an den Steuerelementen für den Darstellungs-Zeitraum und für die Host/Interface-Auswahl vorgenommen haben, übernommen und eine neue Statistik entsprechend Ihren Vorgaben wird generiert.
  3. Konfigurations-Elemente zum Speichern oder Laden von Ansichten / Konfigurationen Mit Hilfe dieser Konfigurations-Elemente können Sie gespeicherte Ansichten / Konfigurationen aufrufen oder die aktuelle Einstellung speichern.
    Eine Ansichten bzw. Konfigurationen speichert folgende Einstellungen:
    • die ausgewählten Host/Interface - Kombinationen
    • deren Verteilung auf die Mehrfach-Auswahl Container für die grafische Darstellung
    • Einstellungen der Darstellungs-Auswahl pro Container
  4. Statistik-Tabellen
    Für jede ausgewählte Host/Interface - Kombination wird eine eigene Tabelle über die entsprechenden Darstellungs-Intervalle generiert. Die in der unteren Zeile angegebenen Darstellungs-Intervalle sind Startwerte, d.h. für eine Stundenweise Darstellung entspricht der Eintrag 03 für "Stunde" dem Zeitraum 03:00:00-03:59:59.
    Die Werte des gemessenen Transfervolumens sind zwecks besserer Darstellung gerundet. Indem Sie die Maus über einem Wert halten, erscheint der exakte Wert in Bytes.
3.2.2 Konfiguration und Interpretation der grafischen Darstellung

Konfigurations-Elemente für die grafische Darstellung
Die Konfigurations-Elemente für die grafische Darstellung lassen sich in 3 Gruppen gliedern:
  1. 3 Mehrfach-Auswahl Container
    Diese Container können jeweils Listen (keine bis mehrere Elemente) von Host/Interface-Kombinationen enthalten.
  2. darunter liegend jeweils 2 Knöpfe pro Container.
    Mit Hilfe dieser Knöpfe können Sie die jeweils ausgewählten Elemente in einen anderen Container verschieben.
  3. wiederum darunter plaziert jeweils eine Darstellungs-Auswahl pro Container
    Diese Elemente bestimmen wie die Host/Interface-Kombinationen in den dazugehörigen Containern in der grafischen Darstellung aufgenommen werden.
    Sie haben folgende Möglichkeiten:
    • nebeneinander: die Elemente des Containers werden nebeneinander dargestellt
    • umgekehrt nebeneinander: die Elemente des Containers werden nebeneinander dargestellt, allerdings werden die Werte für Ein- und Ausgang vertauscht
    • zusammenzählen: die Werte der Elemente des Containers werden zusammengezählt und übereinander dargestellt
    • umgekehrt zusammenzählen: die Werte der Elemente des Containers werden zusammengezählt und übereinander dargestellt, allerdings werden die Werte für Ein- und Ausgang vertauscht
    • ignorieren: die Elemente des Containers werden in der grafischen Darstellung ignoriert
Durch Klicken auf den Knopf mit der Aufschrift "grafische Auswertung anzeigen" wird die Grafik in einem neuen Fenster geöffnet. (Sollte das Fenster leer bleiben, überprüfen Sie bitte die Installation von JpGraph!)
zum Inhaltsverzeichnis
4. Anmerkungen
4.1 64bit Zähler

Im Moment existiert keine mir bekannte Methode um mittels PHP zu ermitteln, ob ein Gerät 64bit Zähler unterstützt. Daher ist die Voreinstellung jedes Interfaces den 64bit Zähler zu verwenden. Sollte ein Interface für die Verwendung des 64bit Zählers konfiguriert sein, dieser aber von der SNMP-Schnittstelle nicht bereitgestellt werden, generiert der collector eine entsprechende Fehlermeldung. Konfigurieren Sie dann das Interface dementsprechend. (siehe auch: Interface-Konfiguration)
Benutzen Sie wenn möglich immer den 64bit Zähler, da dieser erhebliche Vorteile gegenüber dem herkömmlichen 32bit Zähler aufweist. Nur wenn die SNMP-Schnittstelle des Netzwerkgerätes den 64bit Zähler nicht unterstützt, sollte für die entsprechenden Interfaces die Verwendung des 64bit Zählers deaktiviert werden. Lesen Sie hierzu bitte auch den Abschnitt Ausführungstakt für den collector
Ändern Sie niemals die Einstellung für die Verwendung des 64bit Zählers für ein Interface nach dem bereits Daten für dieses Interface gesammelt wurden!
Sollte es sich trotz dem nicht vermeiden lassen, gehen Sie bitte wie folgt vor:
  1. Deaktivieren Sie den entsprechenden Host (dadurch wird dieser von der Datenerfassung ausgeschlossen)
  2. Nehmen Sie die entsprechenden Änderungen an den Einstellungen zur Verwendung des 64bit Zählers vor.
  3. Starten Sie die entsprechende Netzwerkkomponente neu!
  4. Aktivieren Sie den entsprechenden Host wieder (dadurch wird er beim nächsten Durchlauf der Datenerfassung wieder mit einbezogen).
ACHTUNG: Es gab Berichte über Geräte (cisco 29xx) mit einer fehlerhaften Implementierung des SNMP Dienstes, die zwar einen 64bit Zähler besitzen, dieser aber nicht mit entsprechenden Werten gefüllt wir!
zum Inhaltsverzeichnis
4.2 SNMP-Nummern

TraffStats verwendet SNMP-Nummern (SNMP-Entsprechnung: IF-MIB::ifIndex), um Interfaces genau zu identifizieren. (siehe auch: net-snmp.sourceforge.net)
Entsprechend der Definition von IF-MIB::ifIndex können sich diese SNMP-Nummern z.B. nach einem Neustart eines Gerätes ändern (z.B. durch Hinzufügen oder Entfernen eines Interfaces, neuer Software, ...).
Um in solch einem Fall trotz der Neuzuweisung konsistente Datensätze zu behalten, sollten Sie die Konsitenzprüfung aktivieren und möglichst viele Prüffelder definieren. (siehe: Host-Konfiguration)
Bei Verwendung der Konsitenzprüfung generiert der collector eine Fehlermeldung sobald er Abweichungen bei den definierten Prüffeldern feststellt. Anschließend können Sie einen Host - Vergleich Datenbank / SNMP durchführen, um die Änderungen anschaulich und übersichtlich dargestellt zu bekommen. Beachten Sie jedoch, das sie u.U. nur die SNMP-Nummer eines Interfaces geändert hat und nur diese angepasst werden muss um die Konsistenz der Daten zu gewährleisten!
zum Inhaltsverzeichnis
4.3 Ausführungstakt für den collector

Als Ausführungstakt für den collector sollten 10 - 15 Minuten im Allgemeinen die richtige Wahl sein. (siehe auch: Cron-Job für den Collector einrichten)
In Ausnahmefällen kann es aber sinnvoll sein den Ausführungstakt zu ändern:
  1. Es befinden Sich Netzwerkgeräte im Einsatz, deren SNMP-Schnittstelle keinen 64bit Zähler besitzt und die eine relativ hohe Transferrate besitzen.
    In solch einem Fall sollten Sie den Ausführungstakt des collectors auf 5 Minuten oder weniger verringern, um unbemerkte Zurücksetzungen des Zählers zu vermeiden.
  2. Ihr TraffStats-System beinhaltet eine hohe Anzahl von Host/Interface-Kombinationen und / oder einige von den abzufragenden Hosts sind nur über eine langsame Netzwerkverbindung erreichbar.
    In diesem Fall sollten Sie den Ausführungstakt des collector auf 20 oder sogar 30 Minuten erhöhen um die Belastung des Netzwerks möglichst gering zu halten.
zum Inhaltsverzeichnis
4.4 Fehlermeldungen des collector

Hier werden kurz die Fehlermeldungen des collector-Skriptes besprochen.
  1. Host nicht erreichbar
    ERROR: No response from remote host '192.168.123.3'.
    Host mit der IP 192.168.123.3 ist nicht erreichbar.
    mögliche Fehler:
    • Falsche IP eingetragen
    • Fehler in der Netzwerkverbindung
    • Softwareprobleme auf dem Zielhost
    • Zielhost ist ausgefallen
  2. Fehlender 64bit Zähler
    ERROR: no counter64 available :: host: 192.168.123.2 interface id: 2 snmp-nr: 4 (result:noSuchInstance).
    Betreffend Host mit der IP 192.168.123.2: Interface mit der ID 2, SNMP-Nr 4 ist für die Verwendung des 64bit Zählers konfiguriert, dieser ist aber nicht vorhanden.
    Lösung: Deaktivieren Sie die Verwendung des 64bit Zählers für das entsprechende Interface.
  3. Konsistenz-Prüfung Fehlgeschlagen
    ###################################################################### check failed!!! host :: key: '2' ip: '192.168.123.2' interface :: key: '2'; snmpnr:'4' check failed for field 'description': snmp:'Ethernet0' vs. db:'Ethernet' ######################################################################
    Betreffend Host mit der IP 192.168.123.2: Interface mit der ID 2, SNMP-Nr 4
    Beschreibung stimmt nicht überein
    Lösung: Host - Vergleich Datenbank / SNMP durchführen und Datenbank-Werte entsprechend den SNMP-Werten anpassen.
  4. Verbindung abgebrochen
    Bei schlechten / langsamen Netzwerkverbindungen kann es zu Verbindungsabbrüchen kommen.
    ERROR outResult: No response from remote host '172.16.0.4'. ERROR inResult: No Transport Domain defined. ERROR inResult: No Transport Domain defined.
zum Inhaltsverzeichnis
4.5 ein einfaches Skript zur sporadischen Konsitenzprüfung.

Wenn Sie Netzwerkgeräte monitoren, die über eine langsame Verbindung verfügen und Sie haben die Konsistenzprüfung für diese Netzwerkgeräte abgeschaltet um die verfügbare Bandbreite zu schonen, können Sie trotz dem sporatische Konsistenzprüfungen mit Hilfe des Skriptes
collector/checker.pl
durchführen, wenn Sie für die entsprechenden Netzwerkgeräte Konsistenz-Prüffelder definieren.
zum Inhaltsverzeichnis
4.6 HTML-Farben der Interfaces und die externe Farbauswahl

Um Interfaces in der grafischen Darstellung besser identifizieren zu können, sollten Sie Ihnen Farbwerte zuordnen. (siehe: Interface-Konfiguration)
Wenn einem Interface kein Farbwert zugeordnet wird, werden Zufallsfarbwerte verwendet.
Um die Zuweisung von Farbwerten zu erleichtern, haben Sie die Möglichkeit über den Link "Farbauswahl öffnen (externer Link)" eine externe Farbauswahl in einem neuen Fenster zu öffnen. Sie können in der Datei config/config.php über die Variable TRAFFSTATS__COLORCHOOSER festlegen, welche Farbauswahl geöffnet wird (in der betreffenden Datei ist eine kleine Liste von möglichen Farbauswahl-Links aufgeführt).
zum Inhaltsverzeichnis
4.7 SNMP-Funktionen von PHP

Hier einige kurzen Anmerkungen zu den SNMP-Funktionen von PHP:
zum Inhaltsverzeichnis
4.8 Übersetzungen, Änderungsvorschläge, ...

Wenn Sie dieses Dokument übersetzen möchten und / oder TraffStats um eine Sprache erweitern möchten oder Änderungsvorschläge unterbreiten möchten: Sie sind herzlichst zum Mitmachen eingeladen!
Benutzen Sie zur Kontaktaufnahme das Tracker-System auf der Projekt-Seite
zum Inhaltsverzeichnis
4.9 Ruhmeshalle

zum Inhaltsverzeichnis
4.10 Reviews

zum Inhaltsverzeichnis



TraffStats hosted by: