Calcolare

Funzione

Calcola nuovi valori combinando o aggregando altre misurazioni di lavoro SKOOR con script Python. È possibile configurare uno o più filtri per cercare lavori in base al tipo, al nome, alle proprietà personalizzate o ad altri criteri. Tutti i valori restituiti o i valori aggregati dei lavori filtrati possono essere utilizzati per il calcolo

Allarme

Tempo di esecuzione, tempo di script, codice di errore, valore restituito <0-n>, valore stringa <0-n>, conteggio lavori <0-n>.

I lavori di calcolo possono essere creati/modificati solo dagli utenti di tipo Amministratore, poiché consentono l'esecuzione di codice arbitrario sul SKOOR Collector o sul SKOOR Server (nel caso del Collector locale).
L'eseguibile o il codice inserito nella casella di testo in linea viene eseguito con le autorizzazioni dell'utente eranger. Pertanto, è possibile eseguire solo comandi limitati, a meno che l'amministratore Linux (root) non abiliti comandi aggiuntivi utilizzando ad esempio sudo.

Dettagli di calcolo

Poiché i lavori di calcolo vengono eseguiti sul server, utilizzando le misurazioni di altri lavori, non viene utilizzato alcun collettore per l'esecuzione. Il collettore selezionato nella sezione Esecuzione lavoro è irrilevante

Per calcolare un valore, è necessario selezionare almeno un processo SKOOR esistente sul sistema. Da questo processo o questi processi, tutti i valori di ritorno possono essere utilizzati per il calcolo.

Innanzitutto, è necessario selezionare un oggetto padre per i filtri di ricerca. Fare clic sul pulsante Sfoglia e sul menu a discesa vicino a Cerca qui sotto per definire l'oggetto padre. Fare clic sul pulsante + vicino a Filtro 1 per aggiungere altri filtri, se necessario:

Aggiungere o rimuovere criteri di filtro utilizzando i pulsanti + / - di un filtro. Nell'esempio seguente, tutti i lavori Execute vengono cercati con la proprietà personalizzata Kanton impostata su Zurigo:

Per ogni filtro, è ora necessario selezionare il tipo di valori utilizzando il menu a discesa Valori per script. Sono disponibili le seguenti opzioni:

Categoria

Tipo

Aggregato

Media, min, max, ecc.
Picchi dell'ultima ora
Picchi delle ultime 24 ore

Per ogni lavoro

Picchi dell'ultima ora
Picchi delle ultime 24 ore
Tutti i valori del lavoro

Infine, clicca su Aggiorna accanto al menu a tendina Valori per popolare il menu con i valori disponibili dai lavori filtrati e seleziona uno dei valori dal menu a tendina che sarà quindi disponibile per il calcolo:

Script inline

Questa sezione è la parte principale del lavoro relativo al calcolo del lavoro. Ora che i valori del lavoro sono stati selezionati, è necessario creare uno script Python per elaborarli. Fare clic sul pulsante Informazioni nell'angolo in alto a destra della sezione Parametri del lavoro per aprire la pagina della guida con gli script di esempio:

Nella definizione del lavoro viene fornito uno script modello. Questo script contiene i dati variabili con tutti i risultati dei lavori filtrati, formattati come JSON. Questa stringa JSON ha il seguente aspetto, a seconda del tipo di valore selezionato e del valore di ritorno (leggermente modificato per motivi di leggibilità):

{
    "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
        }
    ]
}

Elemento JSON

Descrizione

argomenti

Array di argomenti aggiunti allo script. Nell'esempio sopra non ne è stato aggiunto nessuno

thisJob

Dati del lavoro di calcolo stesso

risultati

Valori dei lavori risultanti per filtro. Questi saranno utilizzati per il calcolo

info

Informazioni aggiuntive sul lavoro. Messaggio Warning se, ad esempio, non vengono trovati lavori da una definizione di filtro

Come descritto anche nella pagina delle informazioni/aiuto sul lavoro, con la seguente riga di codice Python, i valori possono essere inseriti nei valori di ritorno SKOOR del lavoro di calcolo (l'esempio corrisponde al JSON sopra riportato):

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

Le funzioni necessarie per assegnare i valori di risultato SKOOR sono disponibili nel menu a tendina Tag. Aggiungere argomenti e valori di ritorno sotto il campo Script inline della configurazione: