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
Tutorials

Cacti Tutorial

Cacti ist eine Open Source Software für das Sammeln und grafische Darstellen von Daten. Diese Daten können via SNMP oder über eigene Scripte von cacti ausgelesen werden. Dadurch ist Cacti in der Lage, praktisch alle maschinenlesbaren Datenquellen zu lesen. Die Daten werden in einer Round Robin Database (RRD) gespeichert. Bei dieser Form der Datenspeicherung werden ältere Daten mit einer geringeren Auflösung gespeichert als neue Daten. Die ältesten Daten werden jeweils überschrieben.

Diese Anleitung beschreibt die Installation von Cacti und erste Schritte bei der Nutzung. Die Installation ist Linux-spezifisch. Die eigentliche Nutzung erfolgt über einen Browser und ist daher unabhängig vom Betriebssystem. Das Tuturial kann also auch unter Windows und Apple Mac OS nachvollzogen werden.

Inhalt

Installation von Cacti unter Debian Linux
Devices ohne SNMP in Cacti
Ein erster Graph
Kleiner Exkurs SNMP
Ein Device mit SNMP
Daten über ein eigenes Script auslesen
Benutzerverwaltung

Installation von Cacti unter Debian Linux

Die Installation erfolgt durch apt-get. Wer später eine aktuellere Version von Cacti installieren möchte, findet diese auf der Homepage des Projektes.

debian1:~# apt-get install apache2
debian1:~# apt-get install mysql-server 
debian1:~# apt-get install cacti

Wenn die Installation der Software abgeschlossen ist, können Sie zum ersten Mal das Webinterface von Cacti aufrufen. Dort sind noch einige Schritte für die Ersteinrichtung des Systemes zu erledigen. Ist Cati auf dem lokalen System installiert, erfolgt der Aufruf im Browser über: http://localhost/cacti

Sollten in diesem Schritt einige Komponenten nicht gefunden werden, geben Sie den korrekten Pfad ein oder installieren Sie die fehlenden Programme via apt-get nach. Danach gelangen Sie zum Login-Fenster von Cacti. Für die erste Anmeldung lautet der User Name admin und das Password ebenfalls admin. Das Kennwort muss dann sofort geändert werden.

Devices ohne SNMP in Cacti

Um Daten von einem Gerät zu sammeln, muss diese zuerst als Device in Cacti angelegt werden. Gehen Sie dazu auf Management/Devices und wählen Sie rechts oben Add aus:

Zuerst legen Sie ein Gerät ohne SNMP-Unterstützung an. Bei Description können Sie einen beschreibenden Text für das Gerät eingeben. Bei Hostname geben Sie den vollständigen Hostnamen oder die IP-Adresse des Gerätes ein. Da das Gerät kein SNMP unterstützt, muss das Feld SNMP Community leer sein.

Ein erster Graph

Im nächsten Schritt legen Sie einen Graph für das Gerät an. Dazu wählen Sie das Gerät unter Management/Devices aus und klicken auf Create Graphs for this Host.

Für unseren ersten Test werden Sie die ICMP-Laufzeit grafisch darstellen. Dazu wählen Sie Unix - Ping Latency aus und klicken auf create. Im nächsten Dialog können Sie die Farbe und eine Legende festlegen.

Damit ist der Graph (Ping auf www.google.de) erfolgreich erstellt. Allerdings ist der Graph bisher nicht auf der Anzeige zu sehen. Cacti zeigt neue Graphs nicht automatisch an. Um unseren Graph sichtbar zu machen, gehen Sie auf Management/Graph Management. Dort markieren Sie den Graph und wählen die Aktion Plave on a Tree (Default Tree) aus.

Den zweiten Dialog bestätigen Sie mit yes. Wenn Sie nun oben links auf graphs klicken und den Default Tree auswählen, sollte der Graph dort zu sehen sein. Da Cacti nur alle fünf Minuten Daten von den Geräten abruft, kann es einige Zeit dauern, bis sich der Graph aufbaut.

Unter Presets können Sie den Anzeigezeitraum auf die letzte halbe Stunde (Last Half Hour) stellen.

Kleiner Exkurs SNMP

Der gängigste Weg mit Cacti Daten aus Geräten auszulesen ist das Simple Network Management Protocol (SNMP). Alle aktuellen Betriebssystem und Netzwerkkomponenten für den professionellen Einsatz unterstützen SNMP. Dazu muss auf diesen Systemen ein SNMP-Agent laufen. Über einen GET-Request kann dann ein SNMP-Manager Daten von diesen Agenten abrufen.

Die Struktur dieser Daten ist in der Management Information Base (MIB) beschrieben. Die MIB beschreibt eine Baumstruktur. Die einzelnen Zweige dieses Baumes sind durch Nummern oder Namen gekennzeichnet. Die Aneinanderreihung solcher Bezeichnungen wird als Object Identifier (OID) bezeichnet. Hier ein Beispiel:

.1.3.6.1.2.1.1.1.0 = .iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0

Jeder SNMP-Agent unterstützt eine Reihe von Standard-MIBs. Diese können durch den Hersteller um eigene MIBs ergänzt werden. OIDs lassen sich auf der Kommandozeile mit dem Kommando snmpget auslesen:

debian1:/home/mku# snmpget -v 1 -c private 192.168.0.102 .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux debian2 2.6.18-4-xen-686 #1 
                                 SMP Thu May 10 03:24:35 UTC 2007 i686

Für viele interessante Parameter ist die OID bereits in Cacti hinterlegt. Herstellerspezifische OIDs lassen sich aber problemlos ein Cacti einpflegen. Liefert der Hersteller keine Beschreibung seiner MIB, können Sie versuchen das Gerät mit snmpwalk auszulesen.

Ein Device mit SNMP

Für diesen Schritt benötigen Sie ein Gerät, das SNMP spricht. Das kann ein Switch, ein Router oder auch ein PC mit einem SNMP-Agent sein. Unter Linux muss dazu der snmpd auf dem PC installiert werden. Das Gerät wird wieder über Management/Devices/Add angelegt:

Diesmal wählen Sie zusätzlich das Host Template aus und geben eine SNMP Community an. Die SNMP Community muss Leserechte auf dem Gerät haben. Typisch ist hier der String "public". Nach dem Anlegen prüft Cacti den SNMP-Zugriff auf den Host:

Nun können Sie auch für diesen Host einen Graph anlegen. Wählen Sie wieder Create Graphs for this Host in der Hostanzeige. Cacti liest jetzt automatisch alle Netzwerkschnittstellen des Hosts aus und zeigt diese an.

Wählen Sie ein Interface aus und als Graph Type "In/Out Bits". Auch dieser Graph muss wieder über Management/Graph Management im Default Tree plaziert werden. Nach spätestens 15 Minuten sollte Cacti Werte im neuen Grapch anzeigen.

Daten über ein eigenes Script auslesen

Bei vielen Geräten können die Statusinformationen nur über eine Weboberfläche oder Kommandozeile (telnet, ssh) abgerufen werden. Für diese Aufgabe bietet sich ein kleines Perl-Script an, das die Daten ausliest, aufbereitet und für Cacti lesbar ausgibt. Auf diesem Weg lassen sich viele DSL-Modems, unterbrechungsfreie Stromversorgungen (USV) oder auch eigene Applikationen an Cacti anbinden.

Damit Cacti die Ausgabe eines Scriptes verarbeiten kann, muss diese einem bestimmten Format entsprechen. Gibt ein Script nur einen Wert zurück, sieht die Ausgabe so aus:

<Wert_1>

Gibt ein Script mehrere Werte zurück, muss die Ausgabe so aussehen:

<Feldname_1>:<Wert_1> <Feldname_2>:<Wert_2> <Feldname_3>:<Wert_3>

Als Dezimaltrennzeichen erwartet Cacti dabei einen Punkt. Die Ausgabe eines Scriptes für eine Wetterstation könnte also so aussehen:

innentemperatur:22.4 ausssentemperatur:3.2 Luftdruck:1002

Für unseren Test legen Sie zunächst folgendes Perl-Script an:

#!/usr/bin/perl -w

print "innentemperatur:" . int(rand(10)+20) . " aussentemperatur:" . 
       int(rand(8)) . " luftdruck:" . int(rand(20)+1000);

und speichern es unter dem Dateinamen wetter.pl ab. Beim Aufruf sollte das Script drei Werte ausgeben. Um die Ausgaben in Cacti zu verarbeiten benötigen Sie eine Data Input Method. Diese legen Sie unter Collection Methods neu an. Wählen Sie dazu Add aus.

Im Feld Name geben Sie der Eingabemethode einen sprechenden Namen. Als Input Type dann Script/Command auswählen. Der Input String enthält den kompletten Pfad des Scriptes. Im nächsten Schritt können sie Output Fields angelegt werden. Über diese wertet Cacti die Ausgaben unseres Scriptes aus. Klicken Sie auf Add um das erste Feld anzulegen:

Der String im Feld Field [Output] muss der Ausgabe unseres Scriptes entsprechen. In Friendly Name können Sie dem Feld einen sprechenden Namen geben. Die Option Update RRD File muss aktiviert sein. Dadurch nimmt Cacti die Werte in das RRD-File (Datenbank) auf. Legen Sie nun auch die restlichen Felder an und speichern die Eingaben mit save ab.

Diese Data Input Method beschreibt das Aussehen der Daten. Cacti sammelt zum jetzigen Zeitpunkt noch keine Daten. Dazu müssen Sie unter Management/Data Sources eine Datenquelle anlegen. Klicken Sie dort auf Add und lassen Sie die Felder Selected Data Template und Host auf "None" stehen. Klicken Sie auf create.

Zuerst geben Sie der Datenquelle einen Namen. Das Feld Data Source Path können Sie leer lassen. Cacti füllt das Feld beim Speichern. Als Data Input Method wählen Sie "Wetter" aus. Nun füllen Sie die Felder für das erste Data Source Item:

Vergeben Sie einen Internal Data Source Name und geben Sie das mögliche Minimum und Maximum für diesen Wert an. Als Data Source Type wählen Sie Gauge.

Der Type Gauge steht für Datenquellen die eine Art Füllstand liefern (Temperatur, Luftdruck, Bitraten). Der Type Counter wird für Datenquellen genutzt, die aufwärts Zählen (Bits in, Bits out).

Nach dem Klicken von create können Sie auch ein Output Field auswählen. Speichern Sie die Datenquelle mit save und rufen Sie sie wieder auf. Mit Data Source Item/New können Sie nun die beiden anderen Felder hinzufügen und jeweils mit save abspeichern.

Ab diesem Zeitpunkt fängt Cacti an, die Datenquelle mit Daten aus unserem Script zu füllen. Diese müssen jetzt noch grafisch dargestellt werden. Dazu legen Sie unter Management/Graph Management einen neuen Graphen an. Wählen Sie Add und lassen Sie Template und Host leer. Im Folgedialog müssen Sie nur einen Titel eigeben. Für alle anderen Felder können Sie die Voreinstellungen akzeptieren und create klicken.

Nun müssen Sie über Graph Items/Add noch festlegen, welcher Wert dargestellt werden soll. Wählen Sie die Datenquelle aus, legen Sie eine Farbe fest und die Art der Darstellung. Area zeigt den Wert als Fläche an.

Nachdem Sie den Graph mit save gespeichert haben, müssen Sie ihn noch im Default Tree plazieren. Als Übung können Sie jetzt einen Graph mit den beiden Temperaturen als Linien erstellen.

Benutzerverwaltung

Cacti bringt bei der Installation zwei Benutzer mit: admin und guest. Der admin hat volle Rechte auf dem System, der guest darf sich nur Grafiken ansehen. Unter Utilities/User Management haben Sie die Möglichkeit Benutzer anzulegen und zu bearbeiten. Dabei können Sie pro Benutzer grundlegene Berechtigungen (Realm Permissions) vergeben und den Zugriff auf die Grafiken einstellen (Graph Permissions). So können Sie zum Beispiel einzelnen Kunden Zugriff auf bestimmte Grafiken geben.

Weiterführende Informationen

Hilfe im Forum

Im Netzwerkforum erhalten Sie Hilfe zur Nutzung von Cacti.

  • Fragen zur Installation und Benutzung von Cacti posten Sie bitte an das Forum Tools
  • Fragen zur Netzwerkprotokollen wie SNMP posten Sie bitte an das Forum Netzwerkprotokolle und Dienste

Professioneller Support für Cacti

Im Raum Berlin bieten Ihnen die IT-Experten Berlin Cacti Support an. Dort erhalten Sie Hilfe bei Problemen und betriebsbereite Cacti-Systeme nach Ihren Vorgaben. Für den kurzfristigen Einsatz zur Fehlersuche halten die IT-Experten Berlin auch Leihsysteme mit Cacti und anderer Analysesoftware für Sie bereit.

 

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