HSZ-T Fachbereich Informatik Seminar Netzwerkmanagement JFFNMS Student: Tobias Brunner Dozent: M. Steuert Mai 2009
Inhalt Inhalt 1 Aufgabenstellung...1 2 JFFNMS...2 2.1 Installation...2 2.2 Konfiguration...2 2.3 Features...4 2.3.1 Bereiche des Netzwerkmanagements...4 2.3.1.1 Fault Management / Fehlermanagement...4 2.3.1.2 Configuration Management / Konfigurationsmanagement. 5 2.3.1.3 Accounting Management / Abrechnungsmanagement...5 2.3.1.4 Performance Management / Leistungsmanagement...6 2.3.1.5 Security Management / Sicherheitsmanagement...6 2.4 Fazit...7 I
1 Aufgabenstellung 1 1 Aufgabenstellung Implementieren Sie eine Netzwerk Management Umgebung mit Hilfe von JFFNMS und einem SNMP Agenten (z.b. Net-SNMP). Welche Bereiche des Netzwerkmanagements werden abgedeckt? Welche Dienste, Protokolle und Komponenten können verwaltet werden? Zur Präsentation soll das System vorgeführt werden.
2 JFFNMS 2 2 JFFNMS 2.1 Installation Die Installation von JFFNMS erfolgt in einer LAMP (Linux, Apache, MyS- QL, PHP) Umgebung. Windows ist auch möglich, jedoch nicht empfohlen. Zusätzlich zu einer funktionierenden LAMP Umgebung werden folgende Tools verlangt: RRDTool (Erzeugung von Grafiken) und diverse PHP Extensions (snmp, ssl, gd, sockets, mysql oder pgsql, pcre, posix, ob, pcntl und session). Um weitere Features nutzen zu können, sollten folgende Tools vorhanden sein: NET-SNMP, GNU Diff, TFTP Server, TA- CACS+ & Syslog, Graphviz & WebFonts, NMAP PortScanner, Fping und tmpwatch. Die Installation im Schnelldurchlauf: Entpacken der Dateien im Webroot, anpassen der Apache und PHP Konfiguration, einrichten der Cron Jobs, Datenbank anlegen und alle Berechtigungen prüfen. Wenn alles erledigt ist, öffnet man einen Browser und gibt die URL von JFFNS ein. Man wird automatisch auf die Setup-Seite geleitet, auf der man die nötigen Einstellungen machen muss. Zum Abschluss landet man auf der Login Seite, auf der man sich mit dem Benutzer admin und dem Passwort admin einloggen kann. Eine detaillierte Installationsanleitung findet man in der heruntergeladenen Zip Datei (INSTALL). Meine Demoinstallation liegt auf einem Ubuntu Server und ist unter http://monitoring.tobru.ch/jffnms/ erreichbar. Die Installation ist genau nach der Datei INSTALL gemacht. 2.2 Konfiguration Auf der Website von JFFNMS findet man eine sehr umfangreiche Dokumentation (http://www.jffnms.org/docs/jffnms.html). Ich werde hier die ersten Schritte erläutern und was ich in der Demoinstallation gemacht habe. Für weiterführende Konfigurationsinformationen sei auf das online Handbuch verwiesen. Hier ein Auszug aus der Dokumentation betreffend der Begriffe: All network devices or network elements are called hosts. Hosts are basically a container for interfaces. Both hosts and interfaces can have IP addresses as well as other properties. Generally a host is some device out on the network that has an IP address. The definition of an interface is a bit more complex. It's better to think of an interface as an attribute or property of a host. More specifically, its something you want to monitor on the host. Each interface has an interface type, which describes what information needs to be collected (by a poller group, what information needs to be stored and how it is discovered. The easiest interface type to understand is a physical
2 JFFNMS 3 interface on a router, switch or server; but a process, a TCP port or even a fan is also an interface. Nach dem ersten Login erreicht man über den Menüpunkt Administration die Konfigurationstools. Als erstes sollte man einen Customer anlegen, da später die überwachten Geräte und Dienste einem Customer zugeordnet werden. Es gibt die Möglichkeit, die überwachten Geräte in unterschiedlichen Zonen zu verwalten. Eine default Zone ist bereits eingerichtet, welche man an die eigene Umgebung anpassen sollte. Hosts können manuell oder automatisch mittels Auto Discovery hinzugefügt werden. Leider hat in meiner Demoinstallation das Auto Discovery nicht funktioniert. Somit habe ich die Hosts manuell hinzugefügt. Jedem Host sind sogenannte Interfaces zugeordnet. Wie aus der Beschreibung weiter oben zu erfahren ist, sind Interfaces die Dienste, welche auf den einzelnen Hosts überprüft werden. Der Name kommt wohl daher, dass das Tool vor allem auf das messen und überprüfen von Netzwerkinterfaces spezialisiert ist. Interfaces können manuell oder automatisch eingerichtet werden. Hier funktioniert das Discovery in der Demoinstallation sehr gut. Es werden eine ganze Menge vorbereiteter Interface -Definitionen mitgeliefert. Man kann sofort loslegen mit messen und überwachen.
2 JFFNMS 4 Interfaces können in Maps organisiert werden. Standardmässig sind alle Interfaces der RootMap zugeordnet. Alle weiteren Maps sind SubMaps der RootMap. Weitere Tools wie Syslog oder Traps habe ich in der Demoinstallation nicht eingerichtet, da leider das JFFNMS System etwas veraltet ist und das Anpassen an die neueren Softwarekomponenten auf meinem Demosystem sehr aufwändig ist. 2.3 Features Auszug aus der Dokumentation: Alarming of syslog and SNMP trap events SNMP polling of router, switch and network interface status Graphing of various statistics of network device interfaces Graphing of host information such as CPU, memory and disk Notification via email based upon complex alarm filtering 2.3.1 Bereiche des Netzwerkmanagements 2.3.1.1 Fault Management / Fehlermanagement Erkennen, Protokollieren, Melden und Beheben von auftretenden Fehlerzuständen. (Versenden von Fehlermeldungen, Überwachung von Fehlerzählern, Test, Diagnose, Fehlerkorrektur). JFFNMS kann Fehler erkennen, protokollieren, melden und bestimmte Aktionen ausführen. Man hat die Möglichkeit, eigene sogenannte Triggers und Trigger-Actions zu definieren. So kann man z.b. eine Trigger-Action erstellen, welche einen Dienst neu startet. Diese Trigger- Action wird durch einen Trigger ausgeführt, welcher im Fehlerfall dieses Dienstes angestossen wird. Das System ist sehr flexibel aufgebaut, aber auch entsprechend aufwändig zu erweitern. Abbildung 1: Vordefinierte Trigger-Actions
2 JFFNMS 5 2.3.1.2 Configuration Management / Konfigurationsmanagement Erfassung aller Komponenten (Configuration Items), die überwacht werden müssen. (Test, Diagnose, Fehlerkorrektur Konfiguration, Initialisierung, Beenden, Kontrolle, Namensvergabe) Die Komponenten, welche überwacht werden müssen, werden alle im JFFNMS erfasst. Das jeweils oberste Objekt ist die Zone, in dieser werden die einzelnen Hosts erfasst und die darauf zu überwachenden Dienste (in JFFNMS Interfaces genannt) zugewiesen. Über Maps hat man die Möglichkeit, eigene Strukturen einzubringen (z.b. alle Webserver, alle Mailserver, alle Switches/Router, etc.). Es besteht die Möglichkeit, von Geräten die Konfiguration herunterzuladen und zu versionisieren. So hat man einen Überblick über allfällige Konfigurationsänderungen und kann diese nachvollziehen. Dies geschieht über SNMP Abbildung 2: Konfigurationstranfer und TFTP. Das Gerät muss die Möglichkeit bieten, die Konfiguration herunterzuladen. Durch die erweiterbare Struktur von JFFNMS hat man die Möglichkeit, eigenen Programmcode einzubinden, um von noch nicht definierten Geräten die Konfiguration herunterzuladen. 2.3.1.3 Accounting Management / Abrechnungsmanagement Erfassen der Benutzung des Netzes, so dass Rechnungen gestellt werden können (Benutzerverwaltung, Kosten und Rechnungsstellung, Nutzungsbeschränkung, Abrechungsbereiche, Austausch von Kosteninformationen zwischen verschiedenen Bereichen) In diesem Bereich bietet JFFNMS keine Hilfe. Es ist nicht möglich, Kosten und Rechnungen in JFFNMS zu erfassen und verwalten.
2 JFFNMS 6 2.3.1.4 Performance Management / Leistungsmanagement Verkehrswerte / Leistungsdaten sammeln und Statistiken führen, Grenzwerte festlegen. (Überwachung des Durchsatzes, der Dienstqualität, des Antwortzeitverhaltens, Analyse der Auslastung) In diesem Bereich ist JFFNMS sehr stark. Es können zu jedem Interface Leistungsdaten gesammelt und ausgewertet werden. Zusätzlich können SLAs definiert und ausgewertet werden. Das Sammeln von Leistungsdaten erfolgt automatisch mit dem Erstellen eines Interfaces. Von Routern und Switches werden sofort Daten wie Traffic, Paket-Loss, Packets, etc. gesammelt und in RRD Datenbanken gespeichert. Diese Daten lassen sich über den Bereich Performance abrufen. Abbildung 3: Beispiel einer Performance Auswertung SLAs werden den einzelnen Interfaces zugeordnet. In einer SLA sind verschiedene Voraussetzungen und Regeln definiert, damit diese SLA erfüllt werden kann. 2.3.1.5 Security Management / Sicherheitsmanagement Authentifizierung von Benutzern, Autorisierung von Zugriff und Nutzung (Zugriffsschutz, Zugangskontrolle, Überwachen von Zugriffen auf Netzkomponenten, Datenschutz) Um Zugriff auf JFFNMS zu erhalten, benötigt man einen Benutzeraccount. Anhand dieses Accounts werden die Berechtigungen innerhalb des Systems festgelegt. Weitere Möglichkeiten gibt es nicht.
2 JFFNMS 7 2.4 Fazit JFFNMS ist ein einfaches Tool zur Überwachung und Messung kleiner Netzwerke. Leider ist das Tool seit längerem nicht mehr weiterentwickelt worden und bringt so einige Probleme beim Einrichten auf Systemen mit aktuellen Softwarekomponenten mit. Dies betrifft vor allem PHP und gewisse Komponenten von Syslog und Trap. Mir persönlich gefällt das System gut. Es ist aber etwas unübersichtlich, gewöhnungsbedürftig und teilweise nicht sehr Benutzerfreundlich. Für grössere Netzwerke eignet sich das Tool nicht, dafür sind andere besser geeignet (z.b. Nagios).