Calculer

Fonction

Calculez de nouvelles valeurs en combinant ou en agrégeant d'autres mesures de travaux SKOOR avec des scripts Python. Un ou plusieurs filtres peuvent être configurés pour rechercher des travaux par type, nom, propriétés personnalisées ou autres critères. Toutes les valeurs de retour ou les valeurs agrégées des travaux filtrés peuvent être utilisées pour le calcul.

Alarme

Durée d'exécution, durée du script, code d'erreur, valeur de retour <0-n>, valeur de la chaîne <0-n>, nombre de tâches <0-n>.

Les jobs de calcul ne peuvent être créés/modifiés que par des utilisateurs de type Administrateur car ils permettent d'exécuter un code arbitraire sur le collecteur ou le serveur SKOOR (dans le cas du collecteur-local).
L'exécutable ou le code saisi dans la zone de texte en ligne est exécuté avec les autorisations de l'utilisateur eranger. Par conséquent, seules des commandes limitées peuvent être exécutées, à moins que l'administrateur Linux (root) n'autorise des commandes supplémentaires en utilisant, par exemple, sudo.

Calculer le détail

Comme les travaux de calcul sont exécutés sur le serveur, travaillant avec les mesures d'autres travaux, aucun collecteur n'est utilisé pour l'exécution. Le collecteur sélectionné dans la section Exécution du travail n'a pas d'importance

Pour calculer une valeur, au moins un travail SKOOR existant doit être sélectionné sur le système. À partir de ce ou ces travaux, toutes les valeurs de retour peuvent être utilisées pour le calcul.

Tout d'abord, un objet parent doit être sélectionné pour les filtres de recherche. Cliquez sur le bouton Parcourir et la liste déroulante près de Rechercher ci-dessous pour définir l'objet parent. Cliquez sur le bouton + près de Filtre 1 pour ajouter d'autres filtres si nécessaire :

Ajoutez ou supprimez des critères de filtrage à l'aide des boutons + / - d'un filtre. Dans l'exemple ci-dessous, tous les travaux d'exécution sont recherchés avec la propriété personnalisée Kanton définie sur Zurich:

Pour chaque filtre, le type de valeurs doit être sélectionné à l'aide du menu déroulant Valeurs pour le script . Les options suivantes sont disponibles :

Catégorie

Type de valeur

Agrégé

Moyenne, min, max, etc.
Pics de la dernière heure
Pics des dernières 24 heures

Pour chaque travail

Pics de la dernière heure
Pics des dernières 24 heures
Toutes les valeurs de l'emploi

Enfin, cliquez sur Actualiser à côté de la liste déroulante Valeurs pour remplir le menu avec les valeurs disponibles des travaux filtrés et sélectionnez l'une des valeurs de la liste déroulante qui sera alors disponible pour le calcul :

Script en ligne

Cette section est la partie principale du travail concernant le calcul de l'emploi. Maintenant que les valeurs du travail ont été sélectionnées, un script Python doit être créé pour faire quelque chose avec elles. Cliquez sur le bouton d'information dans le coin supérieur droit de la section Paramètres du travail pour ouvrir la page d'aide avec des exemples de scripts :

Dans la définition du travail, un modèle de script est fourni. Ce script contient les données variables avec tous les résultats des travaux filtrés, formatés en JSON. Cette chaîne JSON ressemble à la suivante, en fonction du type de valeur et de la valeur de retour sélectionnés (légèrement modifiée pour plus de lisibilité) :

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

Élément JSON

Description de l'élément

arguments

Tableau des arguments ajoutés au script. Aucun n'a été ajouté dans l'exemple ci-dessus

thisJob

Données du job de calcul lui-même

resultats

Valeurs des travaux résultants par filtre. Elles seront utilisées pour le calcul

info

Informations supplémentaires sur les travaux. Message d'avertissement si, par exemple, aucun travail n'est trouvé par une définition de filtre.

Comme décrit également dans la page d'information/aide sur les travaux, avec la ligne de code Python suivante, les valeurs peuvent être placées dans les valeurs de retour SKOOR du travail de calcul (l'exemple correspond au JSON ci-dessus) :

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

Les fonctions requises pour assigner des valeurs de résultat SKOOR sont disponibles dans le menu déroulant Tags . Ajoutez les arguments et les valeurs de retour sous le champ Inline script de la configuration :