Skip to content

[statsng] Correction temps d'acquittement, ajout d'un compteur d'acquittement

Lucas Seguinot requested to merge fix/statsng-ack-time into develop

Corrige https://git.canopsis.net/canopsis/canopsis/issues/1660 et https://git.canopsis.net/canopsis/canopsis/issues/1666.

À tester avec https://git.canopsis.net/canopsis/canopsis/merge_requests/879.

Validation

  • Lancer un environnement Canopsis avec statsng et axe avec l'option -featureStatEvents

  • Créer une alarme en envoyant un événement

  • Attendre une minute (pour que l'entité soit créée en base...)

  • Acquitter l'alarme

  • Vérifier dans influxdb que le temps entre la création de l'alarme et son acquittement a été ajouté dans les measurements alarms_acknowledged et ack_time, et qu'il n'y a pas de valeurs anormales dans le measurement alarms_canceled :

    $ influx -host localhost -database canopsis -username cpsinflux -password canopsis
    > select * from ack_time where time > '2019-05-10T00:00:00Z'  # remplacer par la date du test
    name: ack_time
    time                alarm_state author entity_id          entity_type month   pbehavior value
    ----                ----------- ------ ---------          ----------- -----   --------- -----
    1557480087000000000 3           root   resource/component resource    2019/05 False     58     # temps d'acquittement en secondes
    > select * from alarms_acknowledged where time > '2019-05-10T00:00:00Z'  # remplacer par la date du test
    name: alarms_acknowledged
    time                alarm_state author entity_id          entity_type month   pbehavior value
    ----                ----------- ------ ---------          ----------- -----   --------- -----
    1557480087000000000 3           root   resource/component resource    2019/05 False     1
    > select * from alarms_canceled where time > '2019-05-10T00:00:00Z'  # remplacer par la date du test
    # rien, ou que des résultats qui date d'avant le début du test
  • Annuler l'alarme

  • Vérifier que l'alarme annulée a été comptabilisée dans le measurement alarms_canceled :

    $ influx -host localhost -database canopsis -username cpsinflux -password canopsis
    > select * from alarms_canceled where time > '2019-05-10T00:00:00Z'  # remplacer par la date du test
    1557480113000000000 3           root   resource/component resource    2019/05 False     1
  • Attendre la fin de l'heure courante

  • Créer un tableau de statistiques, qui affiche la statistique "Alarms canceled". Vérifier que les statistiques sont cohérentes avec les actions effectuées.

  • Tester la statistique alarms_acknowledged (qui n'est pas encore disponible dans le front) en faisant un appel à l'API :

    POST /api/v2/stats/alarms_acknowledged
    {
        "mfilter": {
            "_id": "resource/component"
        },
        "tstop": $(( ($(date +%s) / 3600) * 3600 )),  // <- à modifier
        "duration": "2d"
    }
    {
        "aggregations": {},
        "values": [
            {
                "entity": {
                    "_id": "resource/component",
                    // ...
                },
                "value": 1
            }
        ]
    }
Edited by Lucas Seguinot

Merge request reports