snmptrapd interpretiert Format-Strings ähnlich wie printf(). Es versteht folgende Formatierungs-Sequenzen:
String | Bescheibung |
%% | Ein Literal % |
%a | Der Inhalt des Feldes agent-addr der PDU (nur v1 Traps) |
%A | Der Hostname, der zum Inhalt des Feldes agent-addr der PDU gehört (falls verfügbar), |
%b | PDU Quell-Adresse (Hinweis: Dies muss nicht unbedingt eine IPv4-Adresse sein) |
%B | PDU Quell-Hostname (falls verfügbar), andernfalls PDU Quell-Adresse (siehe Hinweis |
%h | Aktuelle Stunde auf dem lokalen System |
%H | Feld hour aus der sysUpTime.0 varbind |
%j | Aktuelle Minute auf dem lokalen System |
%J | Feld minute aus der sysUpTime.0 varbind |
%k | Aktuelle Sekunde auf dem lokalen System |
%K | Feld seconds aus der sysUpTime.0 varbind |
%l | Aktueller Tag im Monat auf dem lokalen System |
%L | Feld day of month aus der sysUpTime.0 varbind |
%m | Aktueller (numerischer) Monat auf dem lokalen System |
%M | Numerische Feld month field aus der sysUpTime.0 varbind |
%N | Enterprise-String |
%q | Trap Subtyp (numerisch, in Dezimaldarstellung) |
%P | Security-Information aus der PDU (community name für v1/v2c, user und context für v3) |
%t | Dezimale Anzahl von Sekunden seit der Betriebssystem-Epoche |
%T | Der Wert der sysUpTime.0 varbind in Sekunden |
%v | Liste von varbinds aus den Nutzdatenliste der Benachrichtigung. Diese sind durch ein |
%V | Gibt den varbind-Trenner an. Dies erfordert eine Folge von Zeichen bis zum nächsten |
%w | Trap-Typ (numerisch, in Dezimaldarstellung) |
%W | Trap-Beschreibung |
%y | Aktuelles Jahr auf dem lokalen System |
%Y | Feld year aus der sysUpTime.0 varbind |
Zusätzlich zu diesen Werten können auch optionale Angaben width und precision verwendet werden (genau wie in printf(3)), sowie ein Kennzeichen. Folgende Kennzeichen werden unterstützt:
‘-‘ (links ausrichten)
‘0’ (führende Nullen verwenden)
‘#’ (alternatives Format verwenden)
Das Kennzeichen "altenatives Format verwenden" ändert das Verhalten von verschiedenen Format-String-Folgen:
Die Zeitinformation wird auf Basis von GMT ausgegeben (anstatt der lokalen Zeitzone)
Die varbinds-Liste wird mit Kommas getrennt (statt mit Tabulatorzeichen)
Die Systemverfügbarkeit (system uptime) wird in ein verständliches Format umgewandelt (statt einer einfachen, ganzen Zahl)
Beispiel
Um eine Meldung wie z.B.14:03 TRAP3.1 from humpty.ucd.edu
zu erhalten, können Sie Folgendes eingeben:
snmptrapd -P -F "%02.2h:%02.2j TRAP%w.%q from %A\n"
Wenn Sie dasselbe in GMT statt lokaler Zeit haben möchten, dann geben Sie ein:
snmptrapd -P -F "%#02.2h:%#02.2j TRAP%w.%q from %A\n"