Utilisation des pbehaviors¶
API PBehaviors¶
Les pbehaviors sont des évènements de calendrier récurrents qui arrêtent temporairement la surveillance d'une entité pendant un temps donné (pour la maintenance par exemple).
Note sur les attributs tstart et tstop d'un pbehavior
Les comportements sont similaires aux évènements de calendrier, avec une récurrence facultative. Les paramètres tstart et tstop servent à définir les dates de début et de fin de la première occurrence d'évènement. Lorsque l'évènement est répété, ces attributs sont utilisés pour définir la durée de chaque instance, en fonction des heures de début et de fin de la première instance.
Par exemple, le comportement ci-dessous commence à 11 heures et se termine une heure plus tard tous les matins à partir du 2018/06/18 :
{ // --snip -- "rrule": "FREQ=WEEKLY;WKST=MO", "tstart": 1529312400, //Le 2018/06/18 at 11 "tstop": 1529316000, // Le 2018/06/18 at 12 // -- snip -- }
Lorsque l'évènement est récurrent, la date de la dernière occurrence est stockée dans l'attribut UNTIL
de l' évènement.rrule
Créer un pbehavior¶
URL¶
POST /api/v2/pbehavior
POST exemple¶
JSON :
{ "name": "imagine", "author": "lennon", "filter": {"_id": "all_the_people"}, "rrule": "", "tstart": 0, "tstop": 1000 }
Les attributs du corps sont les suivants :
Name | type | nullable | Description |
---|---|---|---|
connector | string | No | Identifiant du connecteur d'entité |
name | string | No | Display name du pbehavior |
author | string | No | Nom de l'auteur |
enabled | boolean | No | Si le pbehavior est déclenché ou non |
reason | string | Yes | motif d'administration (optionnel) |
comments | array | Yes | Commentaires (option) |
filter | string | No | filtre d'entité (JSON) |
type_ | string | No | type de Pbehavior |
connector_name | string | No | Display name du connector |
rrule | string | Yes | Rrule (récurrence) |
tstart | integer | No | Timestamp de la date de départ |
tstop | integer | No | Timestamp de la date de fin |
_id | string | No | Indentifiant du Pbehavior |
eids | array | No | tableau du _ids pour les entités impactées. |
timezone | string | Yes | La timezone à utiliser pour le calcul des dates |
exdate | array | Yes | La liste des occurrences à ignorer sous forme de timestamps |
Réponse : UID de l'élément inséré
"b72e841a-d9d1-11e7-9a70-022abfd0f78f"
Récupérer les pbehaviors d'une entité¶
Cette route répertorie les pbehaviors existant sur une entité, identifiée par son eid (Entity ID)
URL¶
GET /api/v2/pbehavior_byeid/<entityid>
Parameters¶
- entityid l'ID de l'entité cible.
Réponse¶
[ { "connector": "canopsis", "name": "imagine", "author": "lennon", "enabled": true, "reason": "", "comments": null, "filter": "{\"_id\": \"580059AB4B100031\"}", "type_": "generic", "connector_name": "canopsis", "rrule": "FREQ=WEEKLY;COUNT=30;WKST=MO", "tstart": 1529312725, "tstop": 1592471125, "_id": "dd4cbc2c-72d6-11e8-a732-0242ac12001a", "isActive": true, "eids": [ "580059AB4B100031" ], "exdate" : [ 1592471125 ], "timezone": "Europe/Paris" } ]
Les attributs de réponse sont les suivants :
Name | type | nullable | Description |
---|---|---|---|
connector | string | No | Identifier of the entity connector |
name | string | No | Display name of the pbehavior |
author | string | No | Author name |
enabled | boolean | No | Should the pbehavior trigger or not |
reason | string | yes | Administrative reason (optionnal) |
comments | array | yes | Comments (option) |
filter | string | No | Entities filter (json) |
type_ | string | No | Pbehavior type |
connector_name | string | No | Display name of the entity connector |
rrule | string | yes | Rrule (recurrence) |
tstart | integer | No | Timestamp of the start date |
tstop | integer | No | Timestamp end date |
_id | string | No | Pbehavior identifier |
eids | array | No | Array of _ids for the impacted entities. |
isActive | boolean | No | Is the pbehavior currently active |
timeszone | string | yes | La timezone à utiliser pour le calcul des dates |
exdate | array | Yes | La liste des occurrences à ignorer sous forme de timestamps |
Supprimer un pbehavior¶
Cette route permet de supprimer un pbehavior.
URL¶
DELETE /api/v2/pbehavior/<pbehavior_id>
Exemple de suppression¶
Response: a status object
{ "deletedCount": 1, "acknowledged": true }
Update un pbeahvior¶
Il n'y a actuellement aucune méthode pour mettre à jour un comportement en place. Il est nécessaire de supprimer et de recréer un comportement pour mettre à jour son contenu.
Forcer le calcul de pbehaviors¶
Cette route impose un nouveau calcul pour tous les comportements.
URL¶
GET /api/v2/compute-pbehaviors
GET exemple¶
/api/v2/compute-pbehaviors
Réponse: les calculs ont-ils été traités ?
true