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
FTP
SFTP
SCP

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)
Dos2unix (obsolet für neue Jobs: konvertiert eine von einem Windows-Host abgerufene Datei in das UNIX/Linux-Format)
Iconv (konvertiert den Inhalt der Datei von einer Kodierung in eine andere, z. B. von ISO-8859-15 in UTF-8-Kodierung. Wenn diese Option ausgewählt ist, erscheinen zusätzliche Textfelder von und bis , um die gewünschten Kodierungsoptionen einzugeben.)
Benutzerdefinierter Befehl (es erscheint ein zusätzliches Textfeld, in das man einen benutzerdefinierten Filter eingeben kann. Der Filter verarbeitet STDIN zu STDOUT. Beispiel: grep -v 'unwanted' | sed 's/wrongtext/goodtext/g' )

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 verwendet

    • Gehe 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 angeben

        • der 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
-1 Allgemeiner Fehler
1 Datei nicht gefunden
2 Datei zu alt
3 Dateiinhalt zu alt
4 Datei zu lang
5 Zeile nicht gefunden
6 Spalte nicht gefunden
7 Zeichenfolge nicht gefunden
8 Wert nicht gefunden
9 Text für Info nicht gefunden
10 Datei konnte nicht abgerufen werden
11 Fehler beim Transformieren der Datei

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:

fluence-embedded-file-wrapper">

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:

Ausgang 5