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. |
Per ogni lavoro | Picchi dell'ultima ora |
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:




