Grafisches Monitoring

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung

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.

[root]# mv /etc/snmp/snmpd.conf snmpd.conf.old

nun kann sie editiert werden.

[root]# gedit /etc/snmp/snmpd.conf

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

[root]# chkconfig snmpd on

Da dies ohne Fehler abgelaufen ist, kann der SNMP-Dienst gestartet oder neugestartet werden

Starten

[root]# service snmpd start

Die Ausgabe:

 snmpd starten:							[ OK ]

Neustarten

[root]# service snmpd restart

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.

[root]# snmpwalk -v 2c -c public localhost system

mehr Informationen liefert sonst auch -h

[root]# snmpwalk -v 2c -c public localhost system

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

[root]# snmpwalk -v 2c -c public localhost interface

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.

[root]# snmpwalk -v 2c -c public 192.168.1.1 interface

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
[root]# yum install cacti

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:

[root]# chown -R cacti:cacti /usr/share/cacti /usr/share/cacti/rra /usr/share/cacti/log

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


Links

Persönliche Werkzeuge