Serverüberwachung mittels, RRD-Tool und Cacti Jörg Mathieu Betreuer : Reinhard Linde
Gliederung 1 Einleitung 2 Funktionen MIB Paketaufbau -Agentenbefehle 3 RRD-Tool Erstellen einer RRD-Datei Einfügen von Werten Erstellen eines Graphen 4 Cacti 5 Fazit
Einleitung Ausfall einer Klimaanlage
Einleitung DDoS-Angriff auf WWW-Server
Simple Network Management Protocol UDP Basiert auf Port 161 und 162 Existiert in den Version 1,2,3 Heute hauptsächlich zur Überwachung eingesetzt
- Sicherheit In Version 1 keine wirksamen Sicherheitsmechanismen Setzen von Community Name möglich Für Lesende und Ändernde Befehle getrennt möglich Meist mit public und private vorbelegt Werden im Klartext übertragen Version 3 enthält moderne Sicherheitsmechanismen Aufwendig zu konfigurieren Implementierung deutlich aufwendiger Daher von Geräteherstellern selten genutzt
Funktionen Funktionen Daten abfragen (GET, GETNEXT, GETBULK) Daten verändern (SET, RESPONSE) TRAP, unaufgefordertes senden von Daten bei Ereignissen
MIB MIB Management Information Base enthält die Manged Objects deren Information per abgefragt werden können Baumstruktur Darstellung der Zweige als durch Punkte getrennte Zahlenreihen Alternativ Ersetzung der Zahlen durch sprechende Namen Deklariert in ASN.1 ( Abstract Syntax Notation One ) Standart MIB ist die MIB-2 defeniert in der RFC 1213
MIB OID Object Identifier bezeichnet genau ein Object im MIB-Baum Darstellung in der Zahlen- oder Zeichen- Form gemischte Darstellung auch möglich Beispiel :.1.3.6.1.2.1.1.1.0.iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0
Paketaufbau -Paket Länge der Nachricht Version Community Name Typ PDU Länge RequestID Fehlerstatus Fehler-Index Länge Body Variable Bindung 1 Varibale Bindung 2... Varibale Bindung n PDU-Header PDU-Body -Header PDU
Paketaufbau Fehlerstatus Kein Fehler Antwort-Paket ist zu groß Die angeforderte OID wird von dem System nicht verwaltet. Falscher Datentyp oder Wert bei Set-Paket Keine Schreibberechtigung auf diese OID (bei Set-Paket) Unbekannter Generierungsfehler, z.b. dass ein durch den -Dämon angestoßenes Programm nicht antwortet.
Paketaufbau PDU-Header bei einem Trap-Paket Pakettyp PDU Länge OID des Gerätes von dem der Trap stammt IP-Adresse des Absenders allgemeine TrapID firmenspezifische TrapID Zeitstempel des Ereignisses PDU-Header
Paketaufbau allgemeine Trap ID kalt Start warm Start Link Up Link Down EGP-Nachbar verloren Authentisierungsfehler firmenspezifisch
Paketaufbau Variable Bindings Größe des Bindings OID Datentyp Wert Variable Binding
Paketaufbau Datentypen Integer32 Unsigned32 Counter32 Counter64 Gauge32 Bits OctetString IPAddress ObjectIdentifier Sequence Timeticks Opaque
-Agentenbefehle -Agentenbefehle snmpwalk : Gibt einen Teil oder den ganzen MIB-Baum aus snmpget : Gibt Werte zu einer oder meherer OID s aus snmpset : Setzt Werte von einem oder meherer OID s
RRD-Tool RRD-Tool RoundRobinDatabase Daten werden nach einer gewissen Zeit überschrieben Pro Datei mehrere Round Robin Archive (RRA s) RRA s enthalten berechnetet Werte
RRD-Tool Erstellen einer RRD-Datei rrdtool create Erzeugt eine neue RRD-Datei Zeit zwischen Dateneinträgen muss eingetragen werden Mindestens ein Datensource Eine oder mehrere RRA S
RRD-Tool Erstellen einer RRD-Datei Beispiel : /usr/bin/rrdtool create muenter_snmp_oid_322.rrd \ --step 300 \ DS:snmp_oid:GAUGE:600:0:100 \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:700 \ RRA:AVERAGE:0.5:24:775 \ RRA:AVERAGE:0.5:288:797 \ RRA:MAX:0.5:1:600 \ RRA:MAX:0.5:6:700 \ RRA:MAX:0.5:24:775 \ RRA:MAX:0.5:288:797 \
RRD-Tool Einfügen von Werten rrdtool update Fügt Daten in eine RDD-Datei ein Beispiel : /usr/bin/rrdtool update muenter_snmp_oid_322.rrd N:42
RRD-Tool Erstellen eines Graphen rrdtool graph Erzeugt einen Graphen aus einer oder mehre RRD-Dateien Vielfältige Möglichkeiten Graphen zu gestalten Linien-, Flächen, Balken-Graphen möglich Zusätzlich Ausgaben von Daten in Textform.
RRD-Tool Erstellen eines Graphen Beispiel : /usr/bin/rrdtool graph c \ --imgformat=png \ --start=-86400 --end=-300 \ --title="muenter - CPU" \ --base=1000 \ --height=150 --width=500 \ --alt-autoscale \ --vertical-label="" \ --slope-mode \ DEF:a="muenter_snmp_oid_322.rrd":snmp_oid:AVERAGE \ LINE1:a#FF0000:"C" \ GPRINT:a:LAST:"Current\:%8.2lf %s" \ GPRINT:a:AVERAGE:"Average\:%8.2lf %s" \ GPRINT:a:MIN:"Min\:%8.2lf %s" \ GPRINT:a:MAX:"Max\:%8.2lf %s\n"
RRD-Tool Erstellen eines Graphen Beispiel:
Cacti Cacti Webbasiertes Tool In PHP geschrieben benutzt Mysql um Verwaltungsinformationen abzuspeichern Frontend für : Erstellen von RRD-Datein Sammeln der Daten durch oder Skripte Updaten der RRD-Dateien Erzeugen von Graphen aus den Daten. benutzt Templates zur einfachen Erstellung von Graphen,Datenquellen, Devices enthält eine Benutzerverwaltung
Fazit Fazit / Aussicht Sicherheit bei Cati ist sehr flexibel Gewisse Rechenleistung erforderlich Erweiterbar um neue Datensammelscripte z.b.: Mailqueu