Calcolare
Funzione | Calcolo di nuovi valori combinando o aggregando altre misurazioni di lavori SKOOR con script Python. È possibile configurare uno o più filtri per cercare i lavori per tipo, nome, proprietà personalizzate o altri criteri. Tutti i valori di ritorno o i valori aggregati dei lavori filtrati possono essere utilizzati per il calcolo. |
---|---|
Allarme | Tempo di esecuzione, Tempo di script, Codice di errore, Valore di ritorno <0-n>, Valore di stringa <0-n>, Conteggio lavori <0-n>. |
I lavori di calcolo possono essere creati/modificati solo da utenti di tipo Amministratore, poiché consentono di eseguire codice arbitrario sul collettore o sul server di SKOOR (nel caso del collettore locale).
L'eseguibile o il codice immesso nella casella di testo in linea viene eseguito con i permessi dell'utente in questione. Pertanto, è possibile eseguire solo comandi limitati, a meno che l'amministratore di Linux (root) non abiliti comandi aggiuntivi utilizzando, ad esempio, sudo.
Calcolo dei dettagli
Poiché i lavori di calcolo sono in esecuzione sul server e lavorano con le misure di altri lavori, non viene utilizzato alcun raccoglitore per l'esecuzione. Il collettore selezionato nella sezione Esecuzione del lavoro è irrilevante.
Per calcolare un valore, sul sistema deve essere selezionato almeno un lavoro SKOOR esistente. Da questo o da questi lavori, tutti i valori di ritorno possono essere utilizzati per il calcolo.
Per prima cosa, è necessario selezionare un oggetto padre per i filtri di ricerca. Fare clic sul pulsante Sfoglia e sul menu a tendina vicino a Cerca 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 di Esecuzione vengono cercati con la proprietà personalizzata Kanton impostata su Zurigo:
Per ogni filtro, il tipo di valori deve essere selezionato ora utilizzando il menu a tendina Valori per lo script . Sono disponibili le seguenti opzioni:
Categoria | Tipo |
Aggregato | Media, minimo, massimo, ecc. |
Per ogni lavoro | Picchi dell'ultima ora |
Infine, fare clic su Aggiorna accanto al menu a tendina Valori per popolarlo con i valori disponibili dei lavori filtrati e selezionare uno dei valori dal menu a tendina che sarà quindi disponibile per il calcolo:
Script in linea
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 che li utilizzi. Fare clic sul pulsante Informazioni nell'angolo in alto a destra della sezione Parametri del lavoro per aprire la pagina di aiuto con esempi di script:
Nella definizione del lavoro, viene fornito un modello di script. Questo script contiene i dati variabili con tutti i risultati dei lavori filtrati, formattati come JSON. Questa stringa JSON ha l'aspetto seguente, a seconda del tipo di valore selezionato e del valore di ritorno (leggermente modificato per la 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 precedente non ne è stato aggiunto nessuno |
thisJob | Dati del lavoro di calcolo stesso |
Risultati | Valori dei lavori risultanti per filtro. Saranno utilizzati per il calcolo |
info | Informazioni aggiuntive sul lavoro. Messaggio di Warning se, ad esempio, non viene trovato alcun lavoro in base alla definizione di un filtro. |
Come descritto anche nella pagina di 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 di cui sopra):
setErangerValues(data["results"][0]["average"],data["results"][0]["max"],data["results"][0]["min"])
Le funzioni necessarie per assegnare i valori di ritorno SKOOR sono disponibili nel menu a tendina Tag . Aggiungere gli argomenti e i valori di ritorno sotto il campo Inline script della configurazione: