Parsefile
Funktion | Analysieren Sie eine Datei nach Text und/oder Werten, erstellen Sie Differenzwerte. Pro Parsing-Job sind bis zu 32 Werte / String-Werte / Diff-Werte / Rate-Werte / Ergebnisse vergleichen / Zähler und Ereignisse abgleichen möglich |
---|---|
Alarmierend | Zeichenfolgenübereinstimmungen, Zeichenfolgenanzahl, Werte, Zeichenfolgenwerte, Diff-Werte, Werte bewerten, Ereignisse, Dateialter, Dateiinhaltsalter, Antwortcode Spezial: Der Job kann je nach konfigurierten Alarmgrenzen in den Zustand Maintenance OK oder Maintenance Major eintreten. |
Parsefile-Details
Parsefile-Parameter
Parameter | Beschreibung |
---|---|
Methode | Die zu parsende Datei kann entweder eine lokale Datei sein (Standard) oder zuerst mit einem der folgenden Protokolle abgerufen werden: HTTP Wenn eines der Remote-Protokolle ausgewählt wird, werden zusätzliche Parameter für den Quellpfad und die Benutzerauthentifizierung angezeigt. Siehe Fetchfile- Job für Konfigurationsdetails. Beispiel: Datei zuerst von einem Webserver abrufen, bevor sie geparst wird: Das Abrufen einer entfernten Datei aus dem Parsefile-Job heraus ist die bevorzugte Methode. Eine Alternative wäre, einen Batch -Job mit einem Fetchfile- oder Agent -Fetchfile- Job und einem Parsefile -Job zu erstellen. Wenn das Remote-System unter Windows läuft und der SKOOR WinAgent installiert ist, können Dateien auch mit dem WinAgent abgerufen werden. WinAgent wird in der Methoden-Dropdown-Liste aufgelistet, sobald die Eigenschaften Agent -Benutzername und Agent -Passwort auf dem Jobgerät festgelegt sind. Unter Windows 10 kann OpenSSH Server über die optionalen Features installiert werden. Nach dem Start des jeweiligen Dienstes können Dateien mittels scp kopiert werden. |
Dateiname | Der zu analysierende Dateiname. Der Pfad kann relativ zum Standard-Parse-Verzeichnis auf dem Kollektor (definiert in der Datei Kollektor , normalerweise auf /var/opt/run/eranger/ Kollektor /tmp gesetzt ) oder absolut angegeben werden . Befindet sich die Datei in einem Unterverzeichnis des konfigurierten Standardverzeichnisses, kann der Dateiname wie folgt eingegeben werden: Unterverzeichnis/Datei.txt |
Dateialter | Testet Datum und Uhrzeit des letzten Zugriffs auf die Datei. Ist sie älter als der angegebene Wert, gibt der Job eine Warnung aus (Datei zu alt). Das Dateialter kann in Minuten oder Sekunden eingegeben werden, Formate wie „1h 30m“ werden ebenfalls unterstützt. |
Alter des Dateiinhalts | Testet, ob sich der Dateiinhalt geändert hat. Hat er sich in der hier eingetragenen Zeit nicht geändert, gibt der Job eine Warnung aus (Dateiinhalt zu alt). Das Format des Dateiinhaltsalters ist dasselbe wie für den Parameter Dateialter . |
Transformieren → Ausführung | Wenn die vom Job bereitgestellte automatische Transformation aus irgendeinem Grund nicht ausreicht, kann die Datei vor dem Parsen mit einer der folgenden Optionen vorverarbeitet werden: Nicht verwendet (keine Vorverarbeitung) |
Reihenfolge | Siehe nächster Abschnitt |
Die Dropdown-Liste Tags ermöglicht die Eingabe vordefinierter Variablen in die obigen Felder, z. B. $NAME$ für den Namen des Jobs.
Standarddateitransformationen
Wenn eine Datei von einem anderen System als Linux geholt wurde, müssen einige Sonderzeichen für das Parsing angepasst werden. Die folgende Liste zeigt, welche Fälle vom Job automatisch behandelt werden:
Windows-Wagenrücklaufzeichen werden entfernt (früher von der dos2unix-Transformationsoption ausgeführt)
Wenn die Datei in UTF-8 mit BOM (Byte Order Mark) codiert ist, wird die BOM entfernt
Wenn die Datei in Unicode kodiert ist (Big-Endian UTF-16 oder Little-Endian UTF-16)
Wenn keine Transformation definiert ist, wird die Datei vor dem Parsen in UTF-8 konvertiert
Wenn eine Transformation definiert ist, wird nichts mit der Datei gemacht (es wird davon ausgegangen, dass die Transformation die Datei korrekt behandelt).
Falls die Umwandlung fehlschlägt, zeigen die Antwort- und Fehlercodes des Jobs die folgenden Meldungen an:
Antwortcode 11 (Failed to transform file) wird immer angezeigt und sollte als Alarm Limit konfiguriert werden
Zusätzlich kann der Fehlercode 1 (Systemfehler) oder 2 (Interner Fehler) angezeigt werden
Parsefile-Sequenz
Allgemeines Verhalten
Wenn die Datei nicht gefunden wird, wird der Antwortcode auf 1 gesetzt ( Datei nicht gefunden ) und die Ausführung beendet.
Wenn das Alter der Datei und/oder das Alter des Dateiinhalts definiert ist, werden diese Prüfungen vor dem Analysieren der Datei durchgeführt.
Wenn die Datei zu alt ist, wird der Antwortcode auf 2 ( Datei zu alt ) gesetzt, die Datei wird jedoch trotzdem geparst.
Wenn der Dateiinhalt zu alt ist, wird der Antwortcode auf 3 ( Dateiinhalt zu alt ) gesetzt, die Datei wird jedoch trotzdem geparst.
Wenn eine Datei mehr als 100000 Zeilen enthält, wird der Antwortcode auf 4 ( Datei zu lang ) gesetzt und die Ausführung abgebrochen. Das Standardlimit kann durch Hinzufügen der folgenden Zeile in der SKOOR Engine -Konfigurationsdatei Kollektor erhöht oder entfernt werden:
parsefile_line_limit = 1000000 raise limit to a million lines parsefile_line_limit = 0 remove limit altogether
Beim Hinzufügen neuer Werte, String-Werte, Diff-Werte etc. sind pro Wertetyp maximal 32 Einträge innerhalb der Parsing-Sequenz möglich. Wenn Sie beispielsweise 3 Werte mit dem Element Wert abrufen hinzufügen, beginnen Sie mit dem Hinzufügen von Wert abrufen mit Index 1, dann 2, dann 3, mit zunehmender Indexanzahl. Die Benutzeroberfläche ermöglicht nur die Auswahl eines maximalen Index basierend auf der Anzahl der aktuell konfigurierten Sequenzelemente, damit die Dropdown-Liste zur Indexauswahl nicht zu viel Platz beansprucht.
Verfügbare Elemente in der Dropdown-Liste Sequenzfilter
Satz
Filtern (einschließen)
Alle Zeilen in der Datei, die den Ausdruck nicht enthalten, werden ignoriert, zB die Eingabe von „localhost“ (ohne Anführungszeichen) berücksichtigt nur Zeilen, die „localhost“ enthalten; andere Zeilen werden übersprungen.
Filtern (ausschließen)
Dies funktioniert umgekehrt, also als Negativfilter.
Alle Zeilen, die den Ausdruck enthalten, werden beim Parsen der restlichen Sequenz ignoriert.
Trennzeichen definieren
Das Standard-Spaltentrennzeichen ist Leerzeichen (1 Leerzeichen, mehrere aufeinanderfolgende Leerzeichen, Tabulatoren). Dadurch werden Zeilen effektiv in Wörter unterteilt.
Hier kann ein anderes Trennzeichen gewählt werden. Geben Sie eine Zeichenfolge aus 1 oder mehr Zeichen wie „;“ ein. oder "KOL". Während einer Sequenz kann das Trennzeichen mehrmals gesetzt und zurückgesetzt werden. Zum Zurücksetzen lassen Sie das Textfeld leer.
Die Spaltenzählung beginnt bei 0 (Null).
Syslog-Modus
Wenn dies gesetzt ist, wird das Parsen mit der ersten neuen Zeile in der Datei fortgesetzt, die seit der letzten Ausführung des Jobs hinzugefügt wurde.
Wenn die Datei gedreht wurde, wird die gedrehte Datei ab der letzten EOF-Position verwendet, sodass keine Daten verloren gehen.
Fall ignorieren
Wenn dies gesetzt ist, wird die Groß-/Kleinschreibung bei Zeichenfolgenvergleichen ignoriert.
Ignorieren nicht gefunden
Wenn eine Zeile oder ein Ausdruck oder eine Spalte nicht gefunden wird, wird der Antwortcode nicht auf 7 Zeichenfolge nicht gefunden gesetzt, aber die Jobausführung wird beendet.
Fahren Sie fort, nachdem nicht gefunden wurde
Wenn dies gesetzt ist, wird das Parsen fortgesetzt, nachdem eine Zeile oder Spalte nicht gefunden wurde.
Überlauf erkennen ein/aus
Wenn dies aktiviert ist, ignorieren alle Diff-Wertparameter , die später in der Sequenz folgen, Werte, die niedriger sind als der Wert, der bei der vorherigen Jobausführung gemessen wurde (nur positive Differenzen sind zulässig).
Dies wird hauptsächlich für Zähler verwendet. Die Einstellung kann später in der Sequenz ausgeschaltet werden.
Zeitstempel abrufen (Rate)
Für exakte Berechnungen kann mit dem Sequenzparameter Get rate value ein Zeitstempel aus einer Datei gelesen werden. Zum Beispiel, wenn die analysierte Datei von einer asynchron ausgeführten Anwendung generiert wird.
Der Zeitstempel in der Datei muss in Einheiten von Sekunden, ms oder µs gedruckt werden.
Finden
Die folgenden Parameter beziehen sich auf Linien. Der Gültigkeitsbereich für den nächsten Parameter ist die Zeile, die vom aktuellen Parameter gefunden wird. Wenn eine angeforderte Zeile nicht existiert, wird der Antwortcode auf 5 ( Zeile nicht gefunden ) gesetzt und die Ausführung beendet, außer wenn Weiter nach nicht gefunden eingestellt ist.Gehe zu Zeile #
Der Parse-Zeiger wird am Anfang der entsprechenden Zeile positioniert.
Zur nächsten Zeile gehen
Der Analysezeiger wird am Anfang der nächsten Zeile positioniert.
Gehe mit in die erste Zeile
Der Parse-Zeiger steht am Anfang der ersten Zeile, die den String/Ausdruck auswertet.
Wenn eine Zeile mit einem solchen Ausdruck nicht gefunden werden kann und „Fortsetzen nach nicht gefunden“ gesetzt ist, wird der Parse-Zeiger auf das erste Zeichen der ersten Zeile in der Datei positioniert und der Rest der Sequenz verarbeitet.
Mit in die nächste Zeile gehen
Der Parse-Zeiger wird am Anfang der nächsten Zeile positioniert, die den String/Ausdruck auswertet.
Wenn eine Zeile mit einem solchen Ausdruck nicht gefunden werden kann und „Fortfahren nach nicht gefunden“ gesetzt ist, wird der Parse-Zeiger auf das erste Zeichen der nächsten Zeile positioniert und der Rest der Sequenz abgearbeitet.
Gehe mit zur letzten Zeile
Der Parse-Zeiger steht am Anfang der letzten Zeile, die den String/Ausdruck auswertet.
Wenn eine Zeile mit einem solchen Ausdruck nicht gefunden werden kann und „Fortsetzen nach nicht gefunden“ gesetzt ist, wird der Parse-Zeiger auf das erste Zeichen der ersten Zeile in der Datei positioniert und der Rest der Sequenz verarbeitet.
Trennzeichen basierend finden
Die folgenden Befehle hängen von der Definition eines Trennzeichens ab. Wenn kein Trennzeichen definiert ist, werden Leerzeichen (Leerzeichen oder Tabulatoren) als Trennzeichen verwendetGehe zu Spalte #
Der Parse-Zeiger wird auf das erste Zeichen der entsprechenden Spalte (0..n) in der aktuellen Zeile positioniert.
Wenn die Spalte nicht gefunden wird, wird der Antwortcode auf 6 ( Spalte nicht gefunden ) gesetzt und die Ausführung beendet.
Wenn die Spalte nicht gefunden wird und Continue after not found gesetzt ist, wird die Position des Analysezeigers nicht geändert.
Der Gültigkeitsbereich der folgenden Zeichenfolgenbefehle ist standardmäßig auf die gesamte Datei festgelegt; wenn zuvor einer der Zeilenbefehle aufgerufen wurde, ist der Geltungsbereich die aktuelle Zeile.
Wird das Feld leer gelassen, wird der Fehlercode auf 7 ( Ungültiger Parameter ) gesetzt und die Ausführung abgebrochen.
Gehe zum ersten String
Gesucht wird je nach Geltungsbereich das erste Vorkommen des Strings in der gesamten Datei / in der aktuellen Zeile, die den Ausdruck auswertet.
Wenn er gefunden wird, wird der Analysezeiger auf das erste Zeichen positioniert, das den Ausdruck auswertet, und dann um die Länge des Ausdrucks erhöht
Andernfalls wird die Ausführung abgebrochen und der Response-Code auf 7 ( String not found ) gesetzt, außer wenn Ignore not found oder Continue after not found oben eingestellt wurde.
Gehe zum nächsten String
Wie oben, aber die Suche beginnt an der aktuellen Position, sodass der Parser nach dem nächsten Vorkommen sucht.
Gehe zur letzten Zeichenfolge
Wie oben, aber der Parser sucht nach dem letzten Vorkommen eines Ausdrucks.
Die folgenden Parameter unterstützen die Ereignisbehandlung gemäß dem Agent Eventlog- Job und können bis zu 4 Ereignisse verfolgen.
Vorfall
EventX setzen
Ein Ereignis wird gesetzt, wenn eine Zeile mit einem gegebenen Ausdruck oder String übereinstimmt.
Es können bis zu 32 Ereignisse konfiguriert und eingestellt werden.
Ereignis X zurücksetzen
Ein Ereignis wird zurückgesetzt, wenn eine nachfolgende Zeile mit einem bestimmten Ausdruck übereinstimmt.
Es können bis zu 32 Reset-Ereignisse konfiguriert und eingestellt werden.
eventX danach zurücksetzen
Ein Ereignis wird nach einem bestimmten Timeout (zB 10m = 10 Minuten) zurückgesetzt.
Es können bis zu 32 Timeouts konfiguriert und eingestellt werden.
Die Rücksetzbedingung wird nur zur Joblaufzeit ausgewertet. Wenn ein Ereignis gesetzt wurde und während der nächsten Jobausführung keine neuen entsprechenden Zeichenfolgen gefunden werden, wird das Ereignis zurückgesetzt, wenn das oben genannte Timeout erreicht ist.
Werte
Holen Sie sich WertX
Beginnend an der aktuellen Position wird ein numerischer Wert gesucht und falls gefunden zugewiesen
Andernfalls wird der Antwortcode auf 8 ( Wert nicht gefunden ) gesetzt und die Ausführung abgebrochen.
Der Analysezeiger wird auf das erste Zeichen nach dem gefundenen Wert gesetzt.
Durch Drücken der Unit- Taste erscheint folgender Dialog:
Hier kann man angebender Name des zurückzugebenden Werts (optional)
seine Einheit (z. B. Sekunden, optional)
ein Divisor, durch den der Wert dividiert werden soll (optional)
Numerische Ausgabegenauigkeit (z. B. 1.000)
Holen Sie sich den Diff-WertX
Beginnend an der aktuellen Position wird ein numerischer Wert gesucht und die Differenz zu dem bei der letzten Ausführung gefundenen Wert zugewiesen.
Der Analysezeiger wird auf das erste Zeichen nach dem gefundenen Wert gesetzt.
Rate valueX erhalten
Der Ratenwert stellt die Differenz des aktuellen Werts und des letzten Werts geteilt durch die Zeit (Sekunden) dar, die zwischen den beiden Messungen vergangen ist:
(Val jetzt – Val zuletzt ) / (t jetzt – t zuletzt )
Üblicherweise wird für diese Berechnung der Zeitstempel der Jobausführung herangezogen. Er kann aber auch aus der Datei gelesen werden, indem der Punkt Get timestamp (rate) verwendet wird (siehe oben)
Wenn die Zeitstempeldifferenz <= 0 ist, wird kein neuer Kurswert generiert.
Holen Sie sich den StringwertX
Dies ermöglicht das Empfangen eines Zeichenfolgenwerts aus einer Datei. Verwenden Sie dies nur für Zeichenfolgen, die sich nicht oft ändern, dh verwenden Sie es, wenn die Zeichenfolge eine der wenigen Zeichenfolgen ist, von denen bekannt ist, dass sie Teil des geparsten Texts sind.
Die Zeichenfolge kann mithilfe der Konfigurationsfelder, auf die Sie zugreifen können, wenn Sie auf die Schaltfläche Einheit klicken, einem numerischen Wert zugeordnet werden.
Vergleichen Sie stringX
Der Ausdruck (der ein einfacher String, aber auch ein regulärer Ausdruck sein kann) wird ausgewertet und als Rückgabewert entweder 1 ( Found ) oder 0 ( Not Found ) zugewiesen.
Der Name des obigen Rückgabewerts und der Text, der neben dem Rückgabewert angezeigt wird, kann durch Klicken auf die Schaltfläche Enum rechts neben diesem Parameter beeinflusst werden. Dies öffnet den folgenden Dialog:
die Folgendes für einen erfolgreichen Vergleich im Abschnitt Werte anzeigen:
Prüfstatus: 1 (Status ist OK )
statt der Vorgabe:
Vergleichsergebnis1: 1 (Gefunden)
Dadurch kann der Rückgabewert einer bestimmten Nachricht zugeordnet werden.Mit den Sonderzeichen ^ oder $ kann nach Ausdrücken am Anfang oder Ende einer Zeile gesucht werden. Wenn Sie beispielsweise „^AAA“ (ohne Anführungszeichen) eingeben, wird „ Gefunden “ zurückgegeben, wenn die Zeichenfolge „AAA“ am Anfang der Zeile steht. Es wird jedoch „ Nicht gefunden “ zurückgegeben, wenn die Zeile etwas anderes als „AAA“ enthält, aber damit beginnt. Ebenso findet die Eingabe von „AAA$“ die Zeichenfolge nur, wenn sie sich am Ende der Zeile befindet.
Wenn eine Menge von String/Wert-Kombinationen im Format „1=AAA, 2=BBB“ oder „1=AAA,2=BBB,0=*“ eingegeben wird und hinter der aktuellen Position auf der aktuellen Zeile wird die entsprechende Nummer als Ausgabewert zugewiesen (das zweite Beispiel gibt 0 für Zeichenfolgen zurück, die nicht in der Menge enthalten sind). Dies ermöglicht mehr Rückgabewerte als der Standardwert von 0 oder 1. Darüber hinaus können diese Rückgabewerte dann mithilfe des Enum -Felds weiter Ausgabenachrichten zugeordnet werden.
Sonderzeichen, die normalerweise Teil eines regulären Ausdrucks sind, z. B. „(“, müssen mit einem Backslash maskiert werden, damit sie korrekt zugeordnet werden.
Der Analysezeiger wird auf das erste Zeichen nach dem ausgewerteten Ausdruck gesetzt, das kein Leerzeichen, Tabulator oder senkrechter Strich (| oder ¦) ist, oder auf die nächste Spalte, wenn ein Trennzeichen definiert wurde.
String-Übereinstimmungen zählenX
Wenn ein Zeilenparameter in der obigen Reihenfolge angegeben wurde, werden alle Vorkommen eines Strings in der aktuellen Zeile gezählt, andernfalls werden alle Vorkommen des Strings in der gesamten Datei gezählt.
Der Analysezeiger wird nicht bewegt.
Text -zu-Info-Nachricht
Der Text von der aktuellen Parsing-Pointer-Position bis zum Ende der Zeile wird in die Info-Nachricht kopiert. Wenn kein Text vorhanden ist, wird der Response-Code auf 9 ( Text for Info not found ) gesetzt und die Ausführung abgebrochen.
Der Analysezeiger wird nicht bewegt.
Parsefile-Werte und Alarmgrenzen
Abhängig von den anderen konfigurierten Alarmgrenzen kann der Parsefile-Job in die Wartungszustände Maintenance Ok oder Maintenance Major eintreten. ZB wenn die folgende Alarm Limit konfiguriert ist:
Der Job geht in den Zustand Maintenance OK , wenn der Textvergleich mit einer bestimmten Zeichenkette oder einem bestimmten Ausdruck übereinstimmt und sich ansonsten im Zustand Ok befindet. Dies kann verwendet werden, um den Job und sein übergeordnetes Gerät (die Wartung wird von einem Job nach oben zu seinem Gerät propagiert) in den Wartungsmodus zu versetzen, je nachdem, was gefunden wird, wenn eine Datei analysiert wird, die Informationen zum Wartungszustand enthält, z. B. von anderen Überwachungssystemen wie Nagios. Alle anderen nachstehenden Alarm Limit können auch in der Wartungsalarmgrenze verwendet werden.
Wert / Alarm Limit | Beschreibung |
---|---|
Ereignis1-X | Überprüft, ob ein Ereignis basierend auf dem Parameter Set Event sequence oben ausgelöst wurde. |
Rückgabewert1-X | Benutzerdefinierter numerischer Wert basierend auf dem obigen Parameter Get value sequence. |
Wert 1-X bewerten | Benutzerdefinierter numerischer Ratenwert basierend auf dem obigen Sequenzparameter Get rate value . |
Diff-Wert1-X | Benutzerdefinierter numerischer Diff-Wert basierend auf dem obigen Parameter Get Diff Value Sequence. |
Zeichenfolgenwert1-X | Benutzerdefinierter Zeichenfolgenwert basierend auf dem obigen Parameter Zeichenfolgenwert abrufen. |
Vergleiche Ergebnis1-X | Benutzerdefinierter Wert basierend auf dem obigen Sequenzparameter zum Vergleichen von Zeichenfolgenwerten . |
Übereinstimmungszähler1-X | Benutzerdefinierter Wert, der auf dem obigen Sequenzparameter „Anzahl Zeichenfolgenübereinstimmungen“ basiert. |
Antwortcode | 0 Kein Fehler |
Fehlercode | Allgemeiner Job-Fehlercode (siehe Abschnitt Job-Fehlercodes ) |
Parsefile-Beispiele
Beispiel 1 – Analysieren Sie eine Datei file.txt mit folgendem Inhalt, um die 3 Werte in den letzten 3 Zeilen zu lesen:
11;OK;33;44.9888;MK;Duration (average): 203.6533s Open cases: 10 8 1
Die Jobkonfiguration sieht wie folgt aus:
Die Einheitendefinition des ersten Get-Value-Elements lautet:
Die anderen 2 Einheitendefinitionen sind mit den Namen Minor bzw. Major ähnlich.
Ausgang 1
Beispiel 2 – Analysieren Sie dieselbe file.txt und extrahieren Sie Werte aus der ersten Zeile basierend auf Spalten
Die Enum -Definition des Elements Compare string 1 lautet:
Vollständiger Text: 0=Status ist gut,1=Status ist nicht so gut,2=Status ist unbekannt
Die Einheitendefinition für Get value 1 lautet:
Beachten Sie die erhöhte Precision , um numerische Fließkommawerte lesen zu können.
Ausgang 2
Beispiel 3 – Suchen Sie mithilfe von Variablentags nach einer Zeile, die den Server enthält. Bleiben Sie in dieser Zeile und erhalten Sie die Werte MeasurementValue1 und CPU_Usage
Dateiinhalte sind:
Timestamp=Fri Oct 31 09:55:20 CET 2017 ServerName=myserver01;MeasurementValue1=1.11;CPU_Usage=10%;EnumValue1=OK; ServerName=myserver02;MeasurementValue1=1.22;CPU_Usage=22%;EnumValue1=BAD;
Der Name des Geräts lautet myserver01 .
Die Einheitendefinitionen sind:
Die Verwendung SKOOR Engine Tags ermöglicht das Kopieren von Jobs auf verschiedene Geräte und lässt sie dennoch mit dem richtigen Gerätenamen funktionieren.
Ausgang 3
Beispiel 4 – Lesen Sie einen Zeitstempel aus einer regelmäßig generierten Datei und lesen Sie den Ratenwert, um die Anzahl der eingehenden und ausgehenden Pakete auf einer Netzwerkschnittstelle zu erhalten
Die Datei wird regelmäßig mit folgendem Inhalt aus einem Execute-Job mit folgendem Inline-Script -Inhalt generiert:
date +%s%N | cut -c1-13 netstat -I=eth0
Die erste Zeile gibt den Zeitstempel (Sekunden seit dem 1.1.1970) in Millisekunden-Präzision aus, die zweite Zeile gibt die Empfangs-/Sendestatistik auf der Netzwerkschnittstelle eth0 aus. Die generierte Datei ist:
1512726065120 Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 5761332 0 0 0 2932100 0 0 0 BMRU
Die Ratenwerte (eingehende und ausgehende Pakete) sind unabhängig von den Ausführungsintervallen sowohl des Ausführungsauftrags als auch des Analysedateiauftrags. Normalerweise würde man den Ausführungsjob und den Parsing-Job unter einen Batch -Job stellen und ihnen ein Ausführungsintervall von Keine Wiederholung zuweisen, und nur der Batch-Job hätte ein Ausführungsintervall.
Der Parsefile-Job sieht wie folgt aus:
Die Einheitendefinitionen sind:
Ausgang 4
Die Werte werden nach der zweiten Ausführung des Jobs gedruckt (der Ratenwert muss mit der vorherigen Messung verglichen werden):
Beispiel 5 – Generieren Sie Ereignisse aus geparsten Inhalten
Lesen Sie eine Datei, die durch einen externen Job generiert wurde, und suchen Sie nach bestimmten Zeichenfolgen. Generieren Sie ein event1, wenn die Zeichenfolge Error gefunden wird. Setzen Sie das Ereignis nach einer bestimmten Zeit zurück. Generieren Sie auch ein event2, wenn die Zeichenfolge Process mysqldtermined gefunden wird. Setzen Sie das zweite Ereignis nur zurück, wenn die Zeichenfolge Process mysqld started weiter unten in der Datei gefunden wird, oder während der nächsten Jobausführung.
In diesem Beispiel legt das erste Element in der Analysesequenz den Syslog -Modusparameter fest. Dadurch wird sichergestellt, dass nur neue Daten in der Datei analysiert werden. Die älteren Teile der Datei, die während der letzten Jobausführung geparst wurden, werden bei nachfolgenden Jobausführungen nicht mehr berücksichtigt. Wenn der erste Joblauf die Zeichenfolge Error in der Datei findet, setzt er das Event1. Wenn während der nächsten 10 Jobausführungen (das Jobintervall ist auf 1 Minute eingestellt) keine neuen Fehlerzeichenfolgen gefunden werden, wird das Ereignis zurückgesetzt.
Der Event-Mechanismus ermöglicht es dem Job, nach einer gewissen Zeit wieder in einen OK -Zustand zurückzukehren, hat aber dennoch die Möglichkeit, eine Alarm-E-Mail auszulösen, wenn ein Event gesetzt wird.
Die Enum- Definitionen sind:
Die Alarmgrenzen sind wie folgt konfiguriert: