Die erste Gruppe der entwickelten MIB beschäftigen sich ausschließlich mit der Konfiguration der
Traperzeugung durch den Subagenten. Dabei werden die Trap Auslöser, also die Konfiguration, welche Syslog
Meldungen einen Trap auslösen und welche nicht relevant sind, sowie die Konfiguration der ausgelösten
Traps in zwei getrennten Tabellen verwaltet. Die Verknüpfung zwischen Auslöser und Trap findet durch die
Variablen trapSourceID
und trapDestID
der beiden Tabellen trapSourceTable
und
trapDestTable
statt. Es handelt sich dabei um eine 1:n Beziehung, d.h. eine bestimmte Syslog Meldung
kann beliebig viele Traps auslösen.
TrapSourceTableEntry ::= SEQUENCE { trapSourceID Integer32, trapSourceTableStatus RowStatus, facility DisplayString, severity DisplayString, logstring DisplayString }
Um zu bestimmen, ob eine Syslog Meldung einen Trap triggern soll, stehen dem Administrator die Einstellungen Facility, Severity und Logstring zur Verfügung. Bei Facility und Severity handelt es sich um die bereits angesprochene Klassifizierung einer Syslog Meldung, Logstring ist ein regulärer
Ausdruck nach Perl 5 Definition und wird mit dem geloggten String selbst verglichen. Durch Setzen der Variablen werden Auslöser konfiguriert:
AUTHPRIV
, Severity=.*
, Logstring=.*su*
erzeugt bei einem
fehlgeschlagenen Versuch, mittels su Root Rechte zu erlangen.
.*
, Severity=EMERG
, Logstring=.*
erzeugt Traps beim
Auftreten von kritischen Systemfehlern.
Die Liste von Beispielen läßt sich beliebig fortführen.
TrapDestTableEntry ::= SEQUENCE { trapDestIndex Integer32, trapDestID Integer32, trapDestVal Integer32, trapDestTableStatus RowStatus }
Für jeden ausgelösten Trap kann der Administrator hier einen Integer Wert festlegen, der in das Trap Paket gepackt werden soll. Ursprünglich sollte hier das Trapziel verwaltet werden. Wie sich später jedoch herausstellte erlaubt das DPI Protokoll keine Übergabe von Trapzielen an den Hauptagenten. Auf weitere Probleme bei der DPI Kommunikation gehe ich im Abschnitt Bekannte Probleme ein.
Die es sich bei den durch den Subagent ausgelßten Traps nicht um generische Traps handelt, sondern auch
ein Wert übermittelt werden soll, wird noch eine Variable vom Typ NOTIFICATION-TYPE
benötigt. Beim
Auslösen eines Traps wird hier die Zeilennummer der TrapSourceTable, die den Trap getriggert hat mitgegeben.
trapSyslogNotification NOTIFICATION-TYPE OBJECTS {trapSourceID} STATUS current DESCRIPTION "Informiert den Manager, dass dem Syslog Agent ein Zustand gemeldet wurde, fuer den ein Trap konfiguriert wurde. Die Notification enthaelt dabei die ausloesende Instanz der Trap Source Tabelle." ::= { trapConfig 5 }