Calculer

Fonction

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

Alarme

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

Les tâches de calcul ne peuvent être créées/modifiées que par les utilisateurs de type Administrateur, car elles permettent d'exécuter du code arbitraire sur le collecteur ou le server 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'active des commandes supplémentaires à l'aide, par exemple, de sudo.

Détails du calcul

Comme les tâches de calcul s'exécutent sur le server et utilisent les mesures d'autres tâches, aucun collecteur n'est utilisé pour l'exécution. Le collecteur sélectionné dans la section Exécution des tâches n'a aucune importance.

Pour calculer une valeur, au moins une tâche SKOOR existante doit être sélectionnée sur le système. À partir de cette ou ces tâches, 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 sur le menu déroulant 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 filtre à l'aide des boutons + / - d'un filtre. Dans l'exemple ci-dessous, toutes les tâches Execute sont recherchées avec la propriété personnalisée Kanton définie sur Zurich :

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

Catégorie

Type

Agrégé

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

Pour chaque tâche

Pics de la dernière heure
Pics des dernières 24 heures
Toutes les valeurs des tâches

Enfin, cliquez sur Actualiser à côté du menu déroulant Valeurs pour remplir le menu avec les valeurs disponibles des tâches filtrées et sélectionnez l'une des valeurs du menu déroulant qui sera alors disponible pour le calcul :

Script en ligne

Cette section constitue la partie principale du travail concernant le calcul du travail. Maintenant que les valeurs du travail ont été sélectionnées, un script Python doit être créé pour les traiter. 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 de la tâche, un modèle de script est fourni. Ce script contient les données variables avec tous les résultats des tâches filtrées, formatées en JSON. Cette chaîne JSON ressemble à celle ci-dessous, en fonction du type de valeur sélectionné et de la valeur de retour (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

arguments

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

thisJob

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

results

Valeurs des tâches résultantes par filtre. Elles seront utilisées pour le calcul.

info

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

Comme décrit également dans la page d'informations/d'aide sur les tâches, avec la ligne de code Python suivante, les valeurs peuvent être placées dans les valeurs de retour SKOOR de la tâche 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 attribuer les valeurs de résultat SKOOR sont disponibles dans le menu déroulant Tags. Ajoutez les arguments et les valeurs de retour sous le champ Script en ligne de la configuration :