Berechnen Sie

Funktion

Berechnung neuer Werte durch Kombination oder Aggregation anderer SKOOR Auftragsmessungen mit Python-Skripten. Es können ein oder mehrere Filter konfiguriert werden, um Aufträge nach Typ, Name, benutzerdefinierten Eigenschaften oder anderen Kriterien zu suchen. Alle Rückgabewerte oder aggregierten Werte der gefilterten Aufträge können für die Berechnung verwendet werden.

Alarmierung

Laufzeit, Skriptdauer, Fehlercode, Rückgabewert <0-n>, Stringwert <0-n>, Jobanzahl <0-n>

Berechnungsjobs dürfen nur von Benutzern des Typs Administrator erstellt/bearbeitet werden, da sie das Ausführen von beliebigem Code auf dem SKOOR Collector oder Server (im Falle des Collector-Local) erlauben.
Die ausführbare Datei oder der Code, der in das Inline-Textfeld eingegeben wird, wird mit den Rechten des gefährdeten Benutzers ausgeführt. Daher können nur begrenzte Befehle ausgeführt werden, es sei denn, der Linux-Administrator (root) schaltet zusätzliche Befehle z.B. mit sudo frei.

Detail berechnen

Da auf dem Server Berechnungsaufträge laufen, die mit Messungen anderer Aufträge arbeiten, wird kein Kollektor zur Ausführung verwendet. Der im Abschnitt Auftragsausführung ausgewählte Kollektor ist irrelevant

Um einen Wert zu berechnen, muss mindestens ein bestehender SKOOR-Job auf dem System ausgewählt sein. Von diesem Job oder diesen Jobs können alle Rückgabewerte zur Berechnung verwendet werden.

Zunächst muss ein übergeordnetes Objekt für die Suchfilter ausgewählt werden. Klicken Sie auf die Schaltfläche Durchsuchen und das Dropdown-Menü neben Suchen , um das übergeordnete Objekt zu definieren. Klicken Sie auf die Schaltfläche + neben Filter 1, um bei Bedarf weitere Filter hinzuzufügen:

Mit den Schaltflächen + / - eines Filters können Sie Filterkriterien hinzufügen oder entfernen. Im folgenden Beispiel werden alle Execute-Aufträge mit der benutzerdefinierten Eigenschaft Kanton auf Zürich eingestellt durchsucht:

Für jeden Filter muss nun die Art der Werte über das Dropdown-Menü Werte für Skript ausgewählt werden. Die folgenden Optionen sind verfügbar:

Kategorie

Typ

Aggregiert

Mittelwert, Minimum, Maximum, etc.
Spitzenwerte der letzten Stunde
Spitzenwerte der letzten 24 Stunden

Für jeden Auftrag

Spitzenwerte der letzten Stunde
Spitzenwerte der letzten 24 Stunden
Alle Auftragswerte

Klicken Sie abschließend auf Aktualisieren neben dem Dropdown-Menü Werte , um das Menü mit den verfügbaren Werten aus den gefilterten Aufträgen aufzufüllen, und wählen Sie einen der Werte aus dem Dropdown-Menü aus, der dann für die Berechnung zur Verfügung steht:

Inline-Skript

Dieser Abschnitt ist der Hauptteil der Arbeit im Zusammenhang mit der Auftragsberechnung. Nachdem die Auftragswerte ausgewählt wurden, muss nun ein Python-Skript erstellt werden, das etwas mit ihnen macht. Klicken Sie auf die Informationsschaltfläche in der oberen rechten Ecke des Abschnitts Auftragsparameter, um die Hilfeseite mit Beispielskripten zu öffnen:

In der Auftragsdefinition wird ein Vorlagenskript bereitgestellt. Dieses Skript enthält die variablen Daten mit allen Ergebnissen aus den gefilterten Aufträgen, formatiert als JSON. Diese JSON-Zeichenfolge sieht je nach ausgewähltem Wertetyp und Rückgabewert wie folgt aus (zur besseren Lesbarkeit leicht bearbeitet):

{
    "arguments": [],
    "thisJob": {
        "type": "jobInfo",
        "jobId": 4769,
        "jobType": 10,
        "jobTypeName": "calculate",
        "jobState": 0,
        "jobStateName": "Undefined",
        "lastTs": 0,
        "values": {}
    },
    "results": [
        {
            "type": "jobAggregateValues",
            "filter": 1,
            "value": "return_value1",
            "count": 43,
            "average": -24882040.997674418,
            "max": 24648.0,
            "min": -1070000000.0
        }
    ],
    "info": [
        {
            "filter": 0,
            "warning": false
        }
    ]
}

JSON-Element

Beschreibung

Argumente

Array der dem Skript hinzugefügten Argumente. Im obigen Beispiel sind keine hinzugefügt worden

dieserJob

Daten des Berechnungsauftrags selbst

ergebnisse

Werte der resultierenden Jobs pro Filter. Diese werden für die Berechnung verwendet

info

Zusätzliche Informationen zum Auftrag. Warning-Meldung, wenn z.B. keine Jobs durch eine Filterdefinition gefunden werden

Wie auch in der Job-Info/Hilfeseite beschrieben, können mit der folgenden Zeile Python-Code die Werte in SKOOR-Rückgabewerte des Berechnungsjobs gesetzt werden (Beispiel entspricht obigem JSON):

setErangerValues(data["results"][0]["average"],data["results"][0]["max"],data["results"][0]["min"])

Die erforderlichen Funktionen zur Zuweisung von SKOOR-Ergebniswerten sind im Dropdown-Menü Tags verfügbar. Fügen Sie Argumente und Rückgabewerte unterhalb des Feldes Inline-Skript der Konfiguration hinzu: