Grafisches Monitoring
Aus Fedorawiki.de
Auf der Basis von snmp lassen sich diverse Variabeln eines Systems auslesen und auswerten. Hier wird dies mit rrdtool bewerkstelligt. rrdtool ist ein sehr leistungsfähiges Werkzeug um zeitbezogene Messdaten wie Speicherbelegung, Festplattenauslastung, Netzwerkverkehr auf kompakte Art und Weise in einer Datenbank zu speichern. Die rrd-Datenbank hat den Vorteil im Vergleich zu relationalen, dass ältere Daten durch neuer mit einer höheren zeitlichen Auflösung ersetzt werden. Theoretisch kann jedes beliebige Gerät, welches Daten über das snmp-Protokoll zur Verfügung stellt, ausgewertet werden, sei es lokal oder in einem Netzwerk. Die Visualisierung übernimmt in diesem Beispiel Cacti, welches sehr ansprechende Grafiken liefert und einen enormen Funktionsumfang besitzt. MRTG wird häufig auch für diese Zwecke verwendet.
Inhaltsverzeichnis |
SNMP installieren & konfigurieren
Für SNMP muss das Paket net-snmp installiert sein, dass im Repository von Fedora bereitgestellt wird und mit Pirut, Yumex oder yum direkt installiert werden kann.
Für die Konfiguration muss die snmpd.conf geändert werden, es muss ein Lese-String für snmp gesetzt werden. Zur Sicherheit sollte vorgängig eine Kopie der Datei gemacht werden.
nun kann sie editiert werden.
Wer will kann natürlich auch nano, vi oder joe benutzen. Am Ende folgende Zeile hinzufügen.
rocommunity ich_will_lesen (oftmals wir 'public' als String verwendet)
Nun kann mit chkconfig die Konfiguration, sprich der richtige Syntax, in der snmpd.conf geprüft werden
Da dies ohne Fehler abgelaufen ist, kann der SNMP-Dienst gestartet oder neugestartet werden
Starten
Die Ausgabe:
snmpd starten: [ OK ]
Neustarten
Die Ausgabe:
snmpd beenden: [ OK ] snmpd starten: [ OK ]
Dies funktioniert auch über Systemeinstellungen -> Servereinstellungen -> Dienste
Testen, ob SNMP die System- und Schnittstellen-Informationen, auch MIB genannt, lesen kann. snmpwalk muss mit dem Paket net-snmp-utils installiert werden.
mehr Informationen liefert sonst auch -h
Die Ausgabe:
SNMPv2-MIB::sysDescr.0 = STRING: Linux server01 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 SNMPv2-MIB::sysUpTime.0 = Timeticks: (28653) 0:04:46.53 ... ...
oder
Die Ausgabe:
IF-MIB::ifNumber.0 = INTEGER: 3 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.3 = INTEGER: 3 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: sit0 IF-MIB::ifDescr.3 = STRING: eth0 ... ...
SNMP-Informationen von anderen Geräten abfragen
Will man die SNMP-Geräte im Netzwerk vom eigenen System aus abfragen, kann dies mit Hilfe der IP-Adresse und Lese-String bewerkstelligt werden, vorausgesetzt der SNMP-Dienst läuft auf dem entsprechenden Gerät. Als Beispiel wird nun ein Router oder ähnliches mit der Adresse 192.168.1.1 und dem String public (Standard-String, wenn Lese-String nicht gesetzt ist) abgefragt.
Der SNMP-Dienst funktioniert nun, so kann mit der Einrichtung von Cacti begonnen werden.
Installation & Konfiguration von Cacti
Cacti kann direkt mit Pirut oder yum installiert werden. Weitere benötigte Module existieren ebenfalls im Fedora Repository und werden automatisch mitinstalliert:
- net-snmp
- net-snmp-utils
- php-mysql
- php-snmp
- rrdtool
- openssl-devel
Es wird zudem eine funktionierende Apache mit PHP- und eine MySQL-Installation vorausgesetzt.
Anlegen der MySQL-Datenbank
Damit Cacti funktioniert, muss eine Datenbank mit dem Namen cacti anlegt werden. Am einfachsten funktioniert es, wenn folgender Befehl ausgeführt wird (setzt jedoch eine phpmyadamin-Installation voraus). Es würde auch mit Hilfe von Webmin oder per Kommando-Zeile funktionieren.
Falls noch nicht geschehen, sollte der Zugriff auf MySQL so beschränkt werden, dass nur mit einem Passwort ein Arbeiten mit Datenbanken möglich ist.
mysqladmin -u root password [Passwort]
Nun die Datenbank anlegen
mysqladmin -u root -p create cacti
Nun muss das Daten-Schema importiert werden. Das SQL-Schema liegt im cacti-Verzeichnis unter /usr/share/doc/cacti-[version]/cacti.sql
mysql -u root -p cacti < /usr/share/doc/cacti-0.8.7b/cacti.sql
Damit die Datenbank geschützt ist, müssen die Berechtigungen gesetzt werden.
mysql -u root -p mysql> grant all on cacti.* to cactiuser@localhost identified by 'Passwort'; mysql> flush privileges; mysql> quit;
Durch das Editieren der Datei /usr/share/cacti/include/config.php werden der MySQL-Benutzer, sein Passwort und die Datenbank angepasst. Die Einträge am Beginn der Datei eintragen, da die Variablen früh abgefragt werden.
$database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "cactipasswort";
cacti hat sich in das Verzeichnis /usr/share/cacti/ installiert. Die Berechtigungen von von ein paar Verzeichnissen müssen angepasst werden. Folgendes Kommando erledigt dies:
Nun muss noch der cron Dienst angepasst werden. Die Datei /etc/cron.d/cacti editieren und das Kommentarzeichen "#" entfernen.
cacti muss natürlich mit dem entsprechenden Benutzer übereinstimmen. Kontrolle ob User und Gruppe cacti existieren:
grep cacti /etc/passwd grep cacti /etc/group
falls nicht vorhanden mit useradd und groupadd erzeugen.
Die Datei /etc/cactid.conf muss an das System angepasst werden. Speziell der Installations-Pfad.
/etc/php.ini editieren und memory_limit=128m setzen
Falls man sich von einem anderen Host zur cacti-seite verbinden will muss man noch /etc/httpd/conf.d/cacti.conf editieren. Dort sollte entweder das Netz oder der Host von dem man die Seite aufruft eingetragen sein. Danach noch den Dienst neustarten.
service httpd restart
Erste Schritte in Cacti
Unter http://[IP-Adresse des Systems]/cacti/ ist das Ganze nun erreichbar. Nach dem Einloggen (admin/admin) muss sofort das Passwort geändert werden.
Die Web-Oberfläche ist nun gestartet und man kann mit der Konfiguration beginnen.
Um einen Wert graphisch darzustellen, muss zuerst ein Device hinzugefügt werden, dann werden dort alle relevanten Informationen wie Beschreibung, Hostname und Typ eingetragen. Wenn kein Template definiert ist, kann "Generic SNMP-enabled Host" ausgewählt werden, um Traffic zu monitoren. Anderenfalls "None" wählen, wenn eine Unsicherheit besteht. Nach dem Sichern passiert eine Umleitung auf eine Seite, welche mehr Informationen preis gibt. Dort muss nun eine Daten-Kolonne ausgewählt werden.
Danach kann der Graph erstellt werden. "New Graph" und dann "Create". Auf der folgenden Seite muss nur noch eine Auswahl getroffen werden und die Erstellung des Diagrammes ist abgeschlossen. Für weitere Informationen zur Konfiguration von Cacti sollte das Cacti Manual gelesen werden.
Siehe auch

