Berechnung

Funktion

Berechnen Sie neue Werte, indem Sie andere SKOOR-Auftragsmessungen mit Python-Skripten kombinieren oder aggregieren. Ein oder mehrere Filter können konfiguriert werden, um Jobs nach Typ, Name, benutzerdefinierten Eigenschaften oder anderen Kriterien zu suchen. Alle Rückgabewerte oder aggregierte Werte der gefilterten Jobs können zur Berechnung verwendet werden

Alarmierend

Laufzeit, Skriptzeit, 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 beliebigen Codes auf dem Kollektor oder Server (im Fall des Kollektor ) erlauben.
Die in das Inline-Textfeld eingegebene ausführbare Datei oder der Code wird mit den Berechtigungen des eranger -Benutzers ausgeführt. Daher können nur eingeschränkte Befehle ausgeführt werden, es sei denn, der Linux-Administrator (root) aktiviert zusätzliche Befehle, zB mit sudo .

Einzelheiten berechnen

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

Um einen Wert zu berechnen, muss mindestens ein vorhandener SKOOR-Job auf dem System ausgewählt werden. 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 unten “, um das übergeordnete Objekt zu definieren. Klicken Sie auf die Schaltfläche + neben Filter 1, um bei Bedarf weitere Filter hinzuzufügen:

Fügen Sie Filterkriterien hinzu oder entfernen Sie sie, indem Sie die Schaltflächen + / - eines Filters verwenden. Im folgenden Beispiel werden alle Execute -Jobs mit der benutzerdefinierten Eigenschaft Kanton gesucht, die auf Zürich gesetzt ist:

Für jeden Filter muss nun die Art der Werte über die Dropdown-Liste Werte für Skript ausgewählt werden. Folgende Optionen stehen zur Verfügung:

Kategorie

Typ

Aggregiert

Durchschnitt, Minimum, Maximum usw.
Höhepunkte der letzten Stunde
Peaks der letzten 24 Stunden

Für jeden Arbeitsplatz

Höhepunkte der letzten Stunde
Peaks der letzten 24 Stunden
Alle Jobwerte

Klicken Sie schließlich neben dem Dropdown-Menü „ Werte “ auf „ Aktualisieren “, um das Menü mit den verfügbaren Werten aus den gefilterten Jobs zu füllen, und wählen Sie einen der Werte aus dem Dropdown-Menü aus, der dann für die Berechnung verfügbar ist:

Inline-Skript

Dieser Abschnitt ist der Hauptteil der Arbeit bezüglich des Berechnungsjobs. Nachdem die Auftragswerte ausgewählt wurden, muss ein Python -Skript erstellt werden, um etwas mit ihnen zu tun. Klicken Sie auf die Informationsschaltfläche in der oberen rechten Ecke des Abschnitts „ Auftragsparameter “, um die Hilfeseite mit Beispielskripten zu öffnen:

In der Jobdefinition wird ein Vorlagenskript bereitgestellt. Dieses Skript enthält die variablen Daten mit allen Ergebnissen der gefilterten Jobs, formatiert als JSON. Dieser JSON-String sieht je nach ausgewähltem Werttyp 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 von Argumenten, die dem Skript hinzugefügt wurden. Im obigen Beispiel wurden keine hinzugefügt

dieser Beruf

Daten des Berechnungsauftrags selbst

Ergebnisse

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

die Info

Zusätzliche Stelleninformationen. Warning , wenn zB durch eine Filterdefinition keine Jobs gefunden werden

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

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

Die erforderlichen Funktionen zum Zuweisen von SKOOR-Ergebniswerten sind in der Dropdown-Liste „ Tags “ verfügbar. Fügen Sie Argumente und Rückgabewerte unterhalb des Inline-Skriptfelds der Konfiguration hinzu: