next up previous
Next: Algorithmus zur Umsetzung von Up: Ausgangssituation Previous: Ausgangssituation

Ein SNMP-Agent für das Management von UNIX-Workstations

  Zum heutigen Zeitpunkt muß trotz zahlreicher Bemühungen der Hersteller die Problemstellung, integriertes Management von UNIX-Workstations sicherzustellen, noch immer als ungelöst betrachtet werden: Es existieren zwar Werkzeuge, die eine Vielzahl von Parametern eines Endsystems erfassen und mit Hilfe eines standardisierten Managementprotokolls an die Managementplattform weiterleiten ([5]); aktive Eingriffsmöglichkeiten durch den Administrator fehlen jedoch völlig. Andererseits existieren Produkte, die zwar Eingriffe zur Steuerung des Systems erlauben; die Kommunikation mit der Managementplattform geschieht jedoch lediglich auf der Grundlage eines herstellerspezifischen, proprietären Protokolls, dessen Schnittstellen nicht offengelegt sind ([8]). Zusätzlich sind beide Ansätze von einer Bottom-Up-Vorgehensweise geprägt, die nur selten die tatsächlichen Bedürfnisse der Netzbetreiber berücksichtigt. Von einer umfassenden, integrierten Managementlösung ist man daher noch weit entfernt.


  
Abbildung: Eine MIB für das Management von UNIX-Workstations (nach [3])
\begin{figure}
 \begin{center}
 \leavevmode \epsffile{sysmgmtmib.eps}
 \end{center}\end{figure}

Im Gegensatz zu kommerziell erhältlichen Werkzeugen haben wir in unseren Arbeiten [3] einen Top-Down-Ansatz verfolgt, der das typische Aufgabenspektrum eines UNIX-Systemadministrators abdeckt. Es wurden daher Möglichkeiten für das Einrichten und Löschen von Benutzerkennungen und -gruppen sowie deren Quoten für den Zugriff auf Betriebsmittel (Plattenplatz, Druckseiten) ebenso vorgesehen, wie Funktionen zum Erfassen und ggf. Stoppen der momentan aktiven Prozesse oder zum Mounten/Unmounten von Dateisystemen. Es ist somit nicht nur passives Monitoring von UNIX-Workstations möglich, sondern auch das aktive Eingreifen in den Betrieb des Systems. Als Managementprotokoll wird SNMP in der Version 2 verwendet.

Im Rahmen dieser Arbeiten wurde eine Systemmanagement-MIB entwickelt und der dazugehörige Agent auf verschiedenen Betriebssystemplattformen (IBM AIX, HP-UX, SunOS, Solaris) implementiert. Diese MIB ist in Abbildung 2 schematisch dargestellt; sie umfaßt 195 MIB-Variablen und 15 Tabellen und stellt (unter anderem) ein Modell folgender Komponenten eines UNIX-Systems zur Verfügung:

Im Falle der Benutzer- und Gruppenverwaltung tritt jedoch durch eine Einschränkung des Internet-Informationsmodells unweigerlich folgendes Problem auf: in der Regel sind auf einem UNIX-System mehrere Benutzer eingetragen, die ihrerseits wieder zu mehreren Gruppen gehören. Tabellen innerhalb von Tabellen sind jedoch explizit durch den entsprechenden Internet-Standard [1] untersagt. ,,Zu den Internet-Standards konforme`` Managementsysteme akzeptieren jedoch MIBs, die diese Anomalie aufweisen, klaglos.

Als sehr vorteilhaft für die Kapselung des SNMP-Agentencodes hat sich der modulare Aufbau des SNMP-Agenten erwiesen: Zum Zugriff auf die MIB-Variablen wurde jeweils eine Prozedur verwendet. Dies bedeutet, daß jede MIB-Variable in einem eigenen Modul implementiert worden ist und über eine bzw. zwei Schnittstellen verfügt, je nachdem, ob auf die Variable nur lesend oder auch schreibend zugegriffen werden kann. Die ausschließlich lesbare MIB-Variable sysName wird durch Aufruf der Prozedur get_sysName ermittelt; eine schreib- und lesbare Variable wie sysLocation wird durch die Prozeduren get_sysLocation und set_sysLocation implementiert. Der SNMP-Agent besteht daher insgesamt aus 195 get- und 150 set-Prozeduren. Der ursprüngliche Grund für diese Modularisierung lag in der besseren Erreichbarkeit von Plattformunabhängigkeit, da man zwischen Betriebssystem-spezifischen Systemaufrufen und Aufrufen, die für alle unterstützten Betriebssysteme identisch sind, besser unterscheiden konnte.


next up previous
Next: Algorithmus zur Umsetzung von Up: Ausgangssituation Previous: Ausgangssituation
Copyright Munich Network Management Team