Jeder Kontext, der einer bestimmten Protokolldatei zugeordnet ist, besteht aus einer Reihe von Komponenten. Jede Komponente spielt bei der Verarbeitung einer Protokolldatei eine bestimmte Rolle.
Das folgende Diagramm zeigt die Struktur einer typischen Konfiguration des generischen Protokolladapters an.
Der Kontext beschreibt die Reihenfolge und Gruppierung von Komponenten, in der diese Komponenten für die Verarbeitung der Protokolldatei verkettet sind. Jede Protokolldatei verfügt über einen eigenen Kontext, und in einer einzelnen Konfiguration können mehrere Kontexte definiert sein. Der generische Protokolladapter stellt zwei Kontextimplementierungen zur Verfügung:
Ein Kontext verfügt über die folgenden Eigenschaften:
Eigenschaft | Typ | Verhalten |
---|---|---|
Beschreibung | String (Zeichenfolge) | Eine Textbeschreibung des Kontexts. Dieser Wert wird nur vom Editor für Adapterkonfiguration verwendet. |
Eindeutige ID | String (Zeichenfolge) | Eine eindeutige Kennung für diesen Kontext. Der Kontext verweist auf diese Zeichenfolge, um das zu verwendende Exemplar der Komponente zu identifizieren. |
Ist Unterbrechungsfreie Operation | Boolescher Wert | Gibt an, ob diese Protokolldatei auf Grundlage der Eigenschaften 'Maximale Leerlaufzeit' und 'Pausenintervall' auf Änderungen überwacht werden soll oder nicht. |
Maximale Leerlaufzeit | Integer (ganze Zahl, Millisekunden) | Die maximale Zeitspanne, die der Kontext auf Änderungen an einer Protokolldatei wartet, bevor er sich selbst inaktiviert. |
Pausenintervall | Integer (ganze Zahl, Millisekunden) | Die Zeitspanne, die der Kontext nach Erreichen des Endes der Protokolldatei wartet, bevor ein erneuter Leseversuch vorgenommen wird. |
Sprachencode nach ISO | Der Sprachencode der Ländereinstellung, in der die Protokolldatei generiert wurde. Bei diesen Codes handelt es sich um die zweistelligen Codes in Kleinbuchstaben, die über ISO-639 definiert werden. Eine vollständige Auflistung dieser Codes können Sie auf vielen Sites finden, z.B. unter: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt. Wird dieser Wert nicht angegeben, so wird die Sprache der aktuellen Ländereinstellung, unter der der generische Protokolladapter ausgeführt wird, verwendet. Dieser Wert wird für die Syntaxanalyse von Zeitmarken in der Protokolldatei verwendet. | |
Landescode nach ISO | Der Landescode der Ländereinstellung, in der die Protokolldatei generiert wurde. Bei diesen Codes handelt es sich um die zweistelligen Codes in Großbuchstaben, die über ISO-3166 definiert werden. Eine vollständige Auflistung dieser Codes können Sie auf vielen Sites finden, z.B. unter: http://www.chemie.fu-berlin.de/diverse/doc/ISO.html. Wird dieser Wert nicht angegeben, so wird das Land der aktuellen Ländereinstellung, unter der der generische Protokolladapter ausgeführt wird, verwendet. Dieser Wert wird für die Syntaxanalyse von Zeitmarken in der Protokolldatei verwendet. | |
Codierung | Die Zeichencodierung der syntaktisch zu analysierenden Protokolldatei. Der angegebene Codierungswert muss ein von der IANA Charset Registry (http://www.iana.org/assignments/character-sets) geführter Wert sein und von der JVM, die der generische Protokolladapter ausführt, unterstützt werden. Wird dieser Wert nicht angegeben, wird die Protokolldatei anhand der in der JVM-Systemeigenschaft 'file.encoding' angegebenen Standarddateicodierung der JVM, in der der generische Protokolladapter ausgeführt wird, syntaktisch analysiert. |
Ein Sensor liefert den Mechanismus zum Lesen des Protokollinhalts für die Verarbeitung. Der generische Protokolladapter stellt die folgenden Sensoren zur Verfügung:
Die folgende Tabelle enthält eine Liste der allgemeinen Sensorattribute.
Sensorattribute
Attributname | Typ | Verhalten |
---|---|---|
Sensortyp | String (Zeichenfolge) | Der vom Adapter zu verwendende Sensortyp. |
Beschreibung (erforderlich) | String (Zeichenfolge) | Eine Textbeschreibung des Sensors. Dieser Wert wird nur vom Editor für Adapterkonfiguration verwendet. |
Eindeutige ID (erforderlich) | String (Zeichenfolge) | Eine eindeutige Kennung für diese Komponente. Der Sensor verweist auf diese Zeichenfolge, um das zu verwendende Exemplar der Komponente zu identifizieren. |
Maximale Blockung (erforderlich) | Integer (ganze Zahl) | Die maximale Anzahl der Zeilen, die der Sensor vor der Weiterleitung an das Extrahierungsprogramm zur Verarbeitung liest. Beim Sensortyp 'StaticParserSensor' gibt dieses Feld die maximale Anzahl an CBE-Objekten an, die vom statischen Parser vor der Weiterleitung an das Ausgabeprogramm zur Verarbeitung erstellt werden. |
Puffer für Übereinstimmungswahrscheinlichkeit | Integer (ganze Zahl) | Die letzten n Byte einer Datei, die gespeichert und verwendet werden sollen, um zu ermitteln, ob seit dem letzten Lesevorgang Datensätze an die betreffende Datei angehängt worden sind. |
Größe für Fußzeile | Integer (ganze Zahl) | Die n Bytes einer Datei, die statischen Inhalt enthalten. Einige Protokolldateien hängen eine Fußzeile an das Ende der Protokolldatei an. Dieser Abschnitt der Protokolldatei wird nicht als Protokolldaten angesehen. Der Fußzeilenabschnitt einer Datei wird nicht verwendet, wenn ermittelt wird, ob seit dem letzten Lesevorgang Datensätze an die betreffende Datei angehängt worden sind. |
Die nachstehende Tabelle enthält eine Liste der für die einzelnen Sensortypen jeweils spezifischen Eigenschaften. Die folgenden Eigenschaften sind dem Komponentencode bekannt und müssen genau wie in der Tabelle angegeben geschrieben werden, damit sie von der Komponente erkannt und verwendet werden können.
Sensortyp | Eigenschaften | Anwendung |
---|---|---|
SingleFileSensor |
|
Wird beim Erstellen eines Adapters verwendet, um eine Syntaxanalyse einer Protokolldatei mit Regeln für reguläre Ausdrücke durchzuführen. |
StaticParserSensor |
|
Wird beim Erstellen eines Adapters verwendet, um eine Syntaxanalyse einer Protokolldatei mit einer Java-Klasse für den statischen Parser durchzuführen. |
Das Extrahierungsprogramm verwendet eine Gruppe von Eingabezeilen, die vom Sensor zur Verfügung gestellt werden, und teilt diese in Nachrichtengrenzwerte auf.
Der generische Protokolladapter stellt die folgenden Extrahierungsprogramme zur Verfügung:
Die folgenden Eigenschaften werden als Teil der Konfiguration für das Extrahierungsprogramm zur Verfügung gestellt:
Eigenschaft | Typ | Verhalten |
---|---|---|
Beschreibung | Zeichenfolge | Eine Textbeschreibung des Extrahierungsprogramms. Dieser Wert wird nur vom Editor für Adapterkonfiguration verwendet. |
Eindeutige ID | Zeichenfolge | Eine eindeutige Kennung für diese Komponente. Das Extrahierungsprogramm verweist auf diese Zeichenfolge, um das zu verwendende Exemplar der Komponente zu identifizieren. |
Mit Zeilenumbrüchen | Boolescher Wert | Gibt an, ob sich die Nachrichten in der Protokolldatei über mehrere Zeilen erstrecken. |
Zeilenumbrüche ersetzen | Boolescher Wert | Ersetzt die Zeilenumbrüche in dieser Datei durch ein anderes
Zeichenfolgesegment. Die Zeilenumbrüche werden ersetzt, bevor das Extrahierungsprogramm nach
'Startmuster' oder 'Endmuster' sucht. Hinweis: Eine Nebenwirkung dieser Option ist, dass die aus der Protokolldatei syntaktisch analysierten Werte keine Zeilenumbrüche enthalten, falls diese nicht explizit durch die Parsersubstitutionsregeln hinzugefügt werden. |
Symbol für Zeilenumbruch | Zeichenfolge | Das Zeichenfolgesegment, durch das die Zeilenumbrüche ersetzt werden sollen. Diese Eigenschaft wird nur dann verwendet, wenn die Eigenschaft 'Zeilenumbrüche ersetzen' aktiviert ist. |
Startmuster aufnehmen | Boolescher Wert | Gibt an, ob das Startmuster als Teil der Nachricht aufgenommen werden soll, die an die nächste Komponente weitergeleitet werden soll. Ist diese Eigenschaft inaktiviert, wird der übereinstimmende Abschnitt der Nachricht entfernt. |
Startmuster | String (Zeichenfolge) oder regulärer Ausdruck | Das Zeichenfolgesegment, das den Anfang einer Nachricht angibt. Die Klasse 'RegularExpressionExtractor' kann immer verwendet werden. Handelt es sich bei Ihrem Startmuster jedoch um eine einfache Zeichenfolge, verursacht die Klasse 'SimpleExtractor' einen geringeren Systemaufwand. |
Endmuster aufnehmen | Boolescher Wert | Gibt an, ob das Endmuster als Teil der Nachricht aufgenommen werden soll, die an die nächste Komponente weitergeleitet werden soll. Ist diese Eigenschaft inaktiviert, wird der übereinstimmende Abschnitt der Nachricht entfernt. |
Endmuster | String (Zeichenfolge) oder regulärer Ausdruck | Das Zeichenfolgesegment, das das Ende einer Nachricht angibt. Wird kein Endmuster angegeben, wird die Nachricht durch das nächste Startmuster begrenzt. |
Der Parser verwendet die vom Extrahierungsprogramm begrenzten Nachrichten und erstellt eine Gruppe von Zuordnungen zwischen Zeichenfolgewerten und einer Datenstruktur. Beim generischen Protokolladapter handelt es sich bei der Datenstruktur um Common Base Event 1.0.1.
Der generische Protokolladapter stellt die folgende Parserklasse zur Verfügung:
Der Parser wird in zwei Phasen ausgeführt:
Die beiden Ausführungsphasen ermöglichen Folgendes: Während der globalen Verarbeitungsphase kann die Nachricht mit Hilfe von Tokens durch eine Reihe von Attributwerten dargestellt werden. Während der Attributverarbeitungsphase kann anschließend auf diese Attributwerte nach Attributnamen oder Index verwiesen werden.
Die folgenden globalen Eigenschaften werden als Teil des Parsers angegeben:
Eigenschaft | Typ | Verhalten |
---|---|---|
Beschreibung | Zeichenfolge | Eine Textbeschreibung des Parsers. Dieser Wert wird nur vom Editor für Adapterkonfiguration verwendet. |
Eindeutige ID | Zeichenfolge | Eine eindeutige Kennung für diese Komponente. Der Parser verweist auf diese Zeichenfolge, um das zu verwendende Exemplar der Komponente zu identifizieren. |
Separatortoken | String (Zeichenfolge) oder regulärer Ausdruck | Ein Token bzw. ein regulärer Ausdruck zur Beschreibung einer
Reihe von Tokens, der die Nachricht in Attribut/Wert-Paare aufteilt. Enthält beispielsweise jede
neue Zeile Ihrer Protokolldatei ein Attribut und dessen Wert, könnten Sie den Separatortoken
\n angeben. Der Vorteil, die Nachricht aufzuteilen, besteht darin, dass in der
Attributverarbeitungsphase auf die Zeichenfolgesegmente verwiesen werden kann. |
Bestimmungstoken | String (Zeichenfolge) oder regulärer Ausdruck | Ein Token bzw. ein regulärer Ausdruck zur Beschreibung einer Reihe von Tokens, der die vom Separatortoken erstellten Zeichenfolgesegmente in Attribut/Wert-Paare aufteilt. Wird beispielsweise jedes Attribut durch ein Gleichheitszeichen (=) vom Wert getrennt und der Wert des Bestimmungstokens ist = , kann in der Attributverarbeitungsphase auf das betreffende Attribut und dessen Wert verwiesen werden. Wird ein Separatortoken, aber kein Bestimmungstoken angegeben, wird die Nachricht in eine Liste von Attributwerten aufgeteilt, auf die in den Substitutionsregeln nach Index verwiesen werden kann. |
Die Attribute von Common Base Event haben jeweils die folgenden Eigenschaften:
Hinweis: Die im Rahmen der globalen Verarbeitungsphase syntaktisch analysierten Werte werden um einführende und abschließende Leerzeichen gekürzt. Daher können Substitutionsregeln, die Positionswerte verwenden, unter der Annahme geschrieben werden, dass die Werte keine einführenden oder abschließenden Leerzeichen haben.
Eigenschaft | Typ | Verhalten |
---|---|---|
Vorherige Substitution für Übereinstimmung als Standardeinstellung verwenden | Boolescher Wert | Gibt die aktuelle Gruppe von Substitutionsregeln für dieses Attribut eine positive Übereinstimmung zurück, muss der Übereinstimmungswert gespeichert werden, damit er zur Verarbeitung des nächsten Datensatzes als Standardwert verwendet werden kann, falls keine positive Übereinstimmung vorliegt. |
Standardwert | String (Zeichenfolge) | Gibt keine der Substitutionsregeln für dieses Attribut eine positive Übereinstimmung zurück oder liegen für dieses Attribut keine Substitutionsregeln vor, wird diesem Attribut der hier angegebene Standardwert zugeordnet. Wird derselbe Wert für alle Datensätze eines bestimmten Attributs gewünscht, kann diese Eigenschaft verwendet werden, anstatt eine Standardsubstitutionsregel für das betreffende Attribut zu erstellen. Hierbei ist zu beachten, dass die Eigenschaft Vorherige Substitution für Übereinstimmung als Standardeinstellung verwenden Vorrang hat, falls ein gespeicherter Wert zur Verfügung steht. |
Für übergeordnetes Element erforderlich | Boolescher Wert | Hierüber können Sie bestimmen, ob dieses Element einen gültigen Wert haben muss, damit das übergeordnete Element gültig ist, oder nicht. Wenn diese Option beispielsweise für das Situationselement ausgewährt ist, so zeigt dies dem Parser an, dass das Common Base Event-Objekt ein gültiges Situationselement benötigt. Wenn das Element 'Situation' bei der Verarbeitung einen Nullwert zurückgibt, wird der Parser keines der untergeordneten Elemente des Common Base Event-Objekts verarbeiten, da er bereits weiß, dass dieses Common Base Event-Objekt ungültig ist, da ein erforderliches untergeordnetes Element einen ungültigen Wert zurückgegeben hat. |
Auswahl untergeordnetes Element | Boolescher Wert | Hierüber können Sie bestimmen, ob die Verarbeitung dieses Elements gestoppt werden soll, sobald ein untergeordnetes Attribut oder Element einen gültigen Wert zurückgegeben hat. Betrachten Sie beispielsweise das Element Situation mit drei untergeordneten Elementen, ReportSituation, RequestSituation und StartSituation, die jeweils über eigene Unterverzeichnisse verfügen. Wird die Option Auswahl untergeordnetes Element für das Element Situation ausgewählt, endet die syntaktische Analyse mit dem ersten untergeordneten Unterverzeichnis, das einen gültigen Wert zurückgibt. |
Substitutionsregeln werden als Teil der Attributverarbeitungsphase ausgeführt. Sie werden in der Reihenfolge von oben nach unten verarbeitet. Sobald eine Regel eine Übereinstimmung ergibt, werden für diese Eigenschaft keine weiteren Regeln ausgeführt. Wird keine Übereinstimmung gefunden, wird kein Wert in das Attribut gestellt, sofern nicht die Eigenschaft Vorherige Substitution für Übereinstimmung als Standardeinstellung verwenden oder Standardwert für das betreffende Attribut angegeben ist.
Substitutionsregeln enthalten die folgenden Eigenschaften:
Eigenschaft | Typ | Verhalten |
---|---|---|
Übereinstimmung | Regulärer Ausdruck | Der reguläre Ausdruck, der den Wert ermittelt, der auf dieses Attribut angewendet werden soll, wenn eine Übereinstimmung im Bereich des Zeichenfolgesegments vorkommt, das von dieser Substitutionsregel verarbeitet wird. Wird kein regulärer Ausdruck zur Verfügung gestellt, wird die Regel als Übereinstimmung angesehen. |
Positionen | name-value attribute pairs (Name/Wert-Attributpaare) |
Mit Positionen können Sie auf die Name/Wert-Attributpaare verweisen, die während der
globalen Verarbeitungsphase erstellt wurden.
Bei der Eigenschaft 'Übereinstimmung' können Sie den Separator hinzufügen, um anzugeben, welche regulären Ausdrücke auf welche Attributwerte angewendet werden sollen. |
Substitution | String (Zeichenfolge) | Der Wert, der in das Attribut gestellt werden soll. Der Wert kann eine Zeichenfolge sein oder er kann auf den regulären Ausdruck in der Eigenschaft 'Übereinstimmung' verweisen. Mit Hilfe der Gruppierungen im regulären Ausdruck kann auf die Zeichenfolgesegmente verwiesen werden, die von der Eigenschaft 'Übereinstimmung' extrahiert werden. $1 gibt die erste Gruppierung an, $2 gibt die zweite Gruppierung an etc. |
Integrierte Funktion verwenden | check box (Markierungsfeld) |
Ist das Markierungsfeld Integrierte Funktion verwenden für ein Attribut ausgewählt, wenn keine
der vorherigen Substitutionsregeln (sofern vorhanden) eine Übereinstimmung ergibt, generiert die Laufzeit des
generischen Protokolladapters unter Verwendung der eigenen internen Funktionen einen Wert für das
betreffende Attribut.
Dieses Feature wird nur für die folgenden CBE-Attribute unterstützt:
|
Substitutionsklasse | String (Zeichenfolge) |
Gibt den Namen einer benutzerdefinierten Java-Klasse an, die eine angepasste Syntaxanalyselogik
für den Wert ausführen kann, der mit den Spezifikationen Positionen, Übereinstimmung und
Substitution der Regel übereinstimmt.
Stimmt die Substitutionsregel mit Daten in dem Datensatz überein, wird diese Klasse aufgerufen, und das
Ergebnis wird zum Erstellen des Common Base Event-Objekts verwendet.
Spezifikationen:
|
Zeitformat | String (Zeichenfolge) |
Dieses Feld gilt nur für Substitutionsregeln für das Element 'creationTime' und wird verwendet, um die
Syntaxanalyse von Datums- und Zeitangaben zu vereinfachen.
Einige Protokolldateien beispielsweise enthalten Zeitmarken, in denen die Monate nicht als numerischer Wert,
sondern als Name angegeben werden.
Dies erschwert die Erstellung von Substitutionsregeln zum Generieren des Zeichenfolgewerts im Format des
XML-Schemadatentyps 'dateTime', der für das CBE-Element 'creationTime' erforderlich ist. In diesem Fall kann
der Benutzer im Feld 'Zeitformat' ein einfaches Java-Datumsformat (SimpleDateFormat) in Form einer Zeichenfolge
angeben, wie in der JavaDoc für java.text.SimpleDateFormat
(java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html)
dokumentiert.
Der Wert, der mit den Spezifikationen 'Positionen', 'Übereinstimmung' und 'Substitution' der Regel übereinstimmt,
wird auf Grundlage der Zeichenfolge des Zeitformats syntaktisch analysiert, und der sich daraus ergebende Wert wird
verwendet, um den Wert für das CBE-Element 'creationTime' zu generieren.
Hinweis: Die in der Konfiguration des Kontextexemplars anhand der Sprach- und Landescodes nach ISO angegebene Ländereinstellung wird für die Syntaxanalyse der Zeitmarke mit der Zeichenfolge des Zeitformats verwendet. |
Das Formatierungsprogramm verwendet die vom Parser gelieferten Zuordnungen zwischen Attributen und ihren Werten und erstellt das korrekte Java-Objektexemplar. Die Laufzeit des Adapters enthält ein einziges Formatierungsprogramm, das Common Base Event-Objekte gemäß der Spezifikation von Common Base Event Version 1.0.1 erstellt.
Das Formatierungsprogramm enthält die folgenden Eigenschaften:
Eigenschaft | Typ | Verhalten |
---|---|---|
Eindeutige ID | String (Zeichenfolge) | Eine eindeutige Kennung für diese Komponente. Das Formatierungsprogramm verweist auf diese Zeichenfolge, um das zu verwendende Exemplar der Komponente zu identifizieren. |
Beschreibung | String (Zeichenfolge) | Eine Textbeschreibung des Formatierungsprogramms. Dieser Wert wird nur vom Editor für Adapterkonfiguration verwendet. |
Das Ausgabeprogramm exportiert die resultierenden Common Base Event-Datensätze, die vom Formatierungsprogramm geliefert werden. Ausgabeprogramme liefern den Mechanismus zum Speichern der Endausgaben des Kontexts zur Verfügung oder betten diesen Mechanismus ein. Der generische Protokolladapter stellt die folgenden Ausgabeprogramme zur Verfügung:
Eigenschaften des Ausgabeprogramms:
Eigenschaft | Typ | Verhalten |
---|---|---|
Eindeutige ID | String (Zeichenfolge) | Eine eindeutige Kennung für diese Komponente. Das Ausgabeprogramm verweist auf diese Zeichenfolge, um das zu verwendende Exemplar der Komponente zu identifizieren. |
Beschreibung | String (Zeichenfolge) | Eine Textbeschreibung des Ausgabeprogramms. Dieser Wert wird nur vom Editor für Adapterkonfiguration verwendet. |
Ausgabeprogrammtyp | enumeration (Aufzählung) | Der Typ des betreffenden Ausgabeprogramms. |
Ausgabeprogrammtypen und erforderliche Eigenschaften:
Ausgabeprogrammtyp | Erforderliche Eigenschaften |
---|---|
StandardOutOutputter | Keine |
SingleFileOutputter | directory (Verzeichnis), fileName (Dateiname) |
LoggingAgentOutputter | agentName - Der Name, der dem Protokollierungsagenten beim Erstellen
zugeordnet wird. waitUntilLoggingTime (optional) - Die Zeitspanne, die das Ausgabeprogramm wartet, bis der Benutzer den Agenten zuordnet und dessen Überwachung startet, bevor das Programm Datensätze an den Agenten schreibt. Wird für diese Eigenschaft kein Wert angegeben, wartet das Ausgabeprogramm nicht bis zum Start der Überwachung des Agenten, bevor es Datensätze an ihn schreibt. |
Verwandte Konzepte
Übersicht über generischen Hyades-Protokolladapter
Spezifikation des Common Base Event-Formats
Verwandte Tasks
Protokollparser erstellen
Regelbasierten Adapter erstellen
Statischen Adapter erstellen
Verwandte Verweise
Struktur der Adapterkonfigurationsdatei
Spezifikation des Common Base Event-Formats
Editor für Adapterkonfiguration
Grammatik von regulären Ausdrücken
(C) Copyright IBM Corporation 2000, 2005. Alle Rechte vorbehalten.