| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Les Paramètres
Globalement, il y a 4 types de paramètres :
| Nom et format | Valeur par défaut | Description et Syntaxe |
|---|---|---|
filter0 : expression~expression~... | aucun filtre défini => tous les éléments sont retournés |
plusieurs filtres peuvent être utilisés ( filter0 , filter1, ...), chaque élément correspondant à au moins un des filtres sera retourné en résultat de la requête. Si il y a plusieurs filtre, les éléments correspondant au filtre0 seront retournés ainsi que les éléments correspondant au filtre1, ainsi que .... |
sort: propriete1:order1~propriete2:order2~... | father_name:asc |
|
output_format: valeur | elements_on_same_level (ou non utilisé pour certaines requêtes) |
|
ouput_field:propriete1~propriete2~... | spécifique à chaque requête |
|
| Warning | ||
|---|---|---|
| ||
Par défaut, les appels utilisent tous ces paramètres, mais certaines routes ont des exceptions |
filterX ( Filtres )
| Anchor | ||||
|---|---|---|---|---|
|
Les filtres ont pour formes :
- filterX : expression~expression
- ~ ayant le sens de "et"
- expression de la forme : critère:valeur0^^valeur1
- où ^^ a le sens de "ou"
- X vaut de 0 à 9.
- Chaque élément correspondant à au moins un des filtres sera retourné.
Liste des critères et leurs valeurs possibles:
| Nom | Matching | Type | Valeur | Exemple d’expression |
|---|---|---|---|---|
status | correspond exactement | Tableau | 0 pour OK, 1 pour ATTENTION, 2 pour CRITIQUE, 3 pour INCONNU | 0^^1^^2 |
context | correspond exactement | Tableau | NOTHING, ACKNOWLEDGED, PARTIAL-ACKNOWLEDGED, INHERITED-ACKNOWLEDGED, DOWNTIME, PARTIAL-DOWNTIME, INHERITED-DOWNTIME, FLAPPING, PARTIAL-FLAPPING, DISABLED | NOTHING^^FLAPPING |
is_status_confirmed | correspond exactement ( insensible à la casse ) | Booléen | True / False | True |
type | correspond exactement | Tableau | HOST, CLUSTER, CHECK, CHECK_HOST, CHECK_CLUSTER | CHECK^^HOST |
father_name | correspond exactement ( insensible à la casse ) | Tableau | Permet de lister les noms exacts des hôtes ou des clusters. Si vous désirez filtrer des hôtes avec une chaîne et des clusters avec un autre, il vous faut faire 2 filtres avec type=HOST et type=CLUSTER. | bordeaux^^rennes |
father_name_contains | contient ( insensible à la casse ) | Tableau | Permet de lister des chaines que l'on cherche dans les hôtes ou des clusters. Si vous désirez filtrer des hôtes avec une chaîne et des clusters avec un autre, il vous faut faire 2 filtres avec type=HOST et type=CLUSTER. | bor^^renn |
| father_uuid | correspond exactement | Tableau | UUID des hôtes / clusters | 4a893fbbcb0047b8a1922bce91e3dfdg |
check_name | correspond exactement ( insensible à la casse ) | Tableau | Permet de lister les noms de checks exacts recherchés. | CPU Usage^^Disk Usage |
check_name_contains | contient ( insensible à la casse ) | Tableau | Permet de lister les chaines que l'on cherche dans les noms de check. | CPU^^Disk |
| check_uuid | correspond exactement | Tableau | UUID des checks. | 4a893fbbcb0047b8a1922bce91e3decf |
description | contient ( insensible à la casse ) | Texte | Bordeaux | |
address | contient ( insensible à la casse ) | Texte | 192.168.1.20 | |
realm | correspond exactement | Tableau | nom complet des royaumes | Paris^^Bordeaux^^CORSE |
notification_contacts | correspond exactement | Tableau | nom complet de modèle de l'utilisateur | user1^^user2 |
notification_contact_groups | correspond exactement | Tableau | nom complet de groupe d'utilisateur | |
father_templates | correspond exactement | Tableau | nom complet de modèle d'hôte ou de cluster | linux^^http |
host_groups | correspond exactement | Tableau | nom complet de groupe d'hôte | ERP_bordeaux |
business_impact | correspond exactement | Entier | 0, 1, 2, 3, 4, 5 | 4 |
status_since | correspond à la contrainte de date | Contrainte de date | LATER-THAN|nb secondes OLDER-THAN|nb secondes | LATER-THAN|60 Plus récent que 60 secondes |
| status_confirmed_since | correspond à la contrainte de date | Contrainte de date | LATER-THAN|nb secondes OLDER-THAN|nb secondes | LATER-THAN|60 Plus récent que 60 secondes |
last_check | correspond à la contrainte de date | Contrainte de date | LATER-THAN|nb secondes OLDER-THAN|nb secondes | OLDER-THAN|60 Plus ancien que 60 secondes |
next_check | correspond à la contrainte de date | Contrainte de date | IN-MORE-THAN|nb secondes IN-LESS-THAN|nb secondes | IN-LESS-THAN|300 Dans moins de 5 minutes |
Exemple filtrant tous les éléments qui sont de statut CRITIQUE, et dont le contexte est soit pris en compte ( ACKNOWLEDGED ) ou en maintenance ( DOWNTIME )
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
"filter0=context:DOWNTIME^^ACKNOWLEDGED~status:2~type:check^^cluster^^host~father_name:datacenter bordeaux" |
sort ( tri des résultats )
| Anchor | ||||
|---|---|---|---|---|
|
Le tri peut se faire:
- sur n’importe quel critère de filtre,
- par ordre ascendant ( asc ) ou descendant ( desc ).
Exemple triant la réponse par nom de "père" ( hôte ou cluster ) en ordre alphabétique descendant et par statut ascendant, soit dans le sens 0 => 3
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
"sort=father_name:desc~status:asc" |
output_format ( structure du retour )
| Anchor | ||||
|---|---|---|---|---|
|
Ce paramètre permet d'indiquer où sont situés les checks dans la réponse de retour:
- checks_attached_to_father : les checks sont accrochés à leurs hôtes / clusters ( forme d'arbre )
- elements_on_same_level : les checks sont listés au niveau des hôtes / clusters ( une liste )
REMARQUE: Dans le cas où le filtre vaut uniquement type=check ( donc pas d'hôtes ou clusters )
- Mais où output_format=checks_attached_to_father, les hôtes / clusters seront quand même présents pour les checks correspondant à ce filtre.
- Si le output_format=elements_on_same_level, les hôtes et/ou clusters ne sont pas présents.
output_field ( Informations présentes dans le retour de la requête )
| Anchor | ||||
|---|---|---|---|---|
|
Ce paramètre permet de lister les propriétés qui seront affichées sur le résultat en sortie.
Les propriétés présentes peuvent être les suivants :
Les propriétés utilisables pour les filtres
| Nom | Sortie | Valeurs possibles | Exemple d’expression | |||
|---|---|---|---|---|---|---|
status | 1 valeur | 0 pour OK, 1 pour ATTENTION, 2 pour CRITIQUE, 3 pour INCONNU | 0 | |||
context | 1 valeur | NOTHING, ACKNOWLEDGED, ACKNOWLEDGED, PARTIAL-ACKNOWLEDGED, INHERITED-ACKNOWLEDGED, DOWNTIME, PARTIAL-DOWNTIME, INHERITED-DOWNTIME, FLAPPING, PARTIAL-FLAPPING, DISABLED | "FLAPPING" | |||
is_status_confirmed | 1 valeur | true / false | true | |||
type | 1 valeur | HOST, CLUSTER, CHECK_HOST, CHECK_CLUSTER | "check_host" | |||
father_name | 1 valeur | "bordeaux-storage" | ||||
check_name | 1 valeur | "CPU Stats" | ||||
description | 1 valeur | "Bordeaux" | ||||
address | 1 valeur | "192.168.1.20" | ||||
realm | 1 valeur | "Paris" | ||||
notification_contacts | valeurs séparées par des virgules | Noms des contacts | [ "user1", "user2" ] | |||
notification_contact_groups | valeurs séparées par des virgules | Noms des groupes de contacts | [ "groupe1", "groupe2" ] | |||
father_templates | valeurs séparées par des virgules | Noms des modèles d'hôtes ou de clusters | [ "linux", "http" ] | |||
host_groups | valeurs séparées par des virgules | Noms des groupes d'hôtes | [ "ERP_bordeaux", "Aquitaine" ] | |||
business_impact | 1 valeur | 0 pour *, 1 pour **, 2 pour ***, 3 pour $, 4 pour $$, 5 pour $$$ | 4 | |||
status_since | 1 valeur | epoch ( en secondes ) | 1606155095 | |||
| status_confirmed_since | 1 valeur | epoch ( en secondes ) (0 si état non confirmé) | 1606155095 | |||
last_check | 1 valeur | epoch ( en secondes ) | 1606991424 | |||
next_check | 1 valeur | epoch ( en secondes ) | 1606991444 | thresholds_display | 1 valeur | "Warning 70%\nCritique 90%" |
Le reste des propriétés apparaissant dans le retour
| Nom | Sortie | Valeur possible | Exemple d’expression |
|---|---|---|---|
attempts | 1 valeur | entier | 2 |
max_attempts | 1 valeur | entier | 2 |
output | 1 valeur | texte | "PING OK - Packet loss = 0%, RTA = 0.01 ms" |
long_output | 1 valeur | texte | "<div class=\"skn-ich\">Module info:</div><br/><div class=\"skn-tbl-57069\">Some DATA</div>" |
perf_data | 1 valeur | tableau JSON | [ { "name": "rta", "min": 0, "max": null, "value": 0.013, "warning": 1000, "critical": 3000, "uom": "ms" }, { "name": "pl", "min": 0, "max": 100, "value": 0, "warning": 100, "critical": 100, "uom": "%" } ] |
raw_perf_data | 1 valeur | texte | "rta=0.013000ms;1000.000000;3000.000000;0.000000 pl=0%;100;100;0" |
notification_options | 1 valeur | tableau JSON | [ "w", "u", "c", "r", "f" ] |
| notes_url | 1 valeur | texte | "http://localhost/" |
| notes_multi_url | 1 valeur | texte | "UI_Configuration~=http://localhost:7766~=write~=NO~#~UI_Visualisation~=http://localhost:7767~=stats~=OPEN_IN_NEW_TAB" |
notification_period | 1 valeur | texte | "24x7" |
Exemple d'utilisation
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
"ouput_field=status~context~father_name~check_name~output~perf_data~status_since~last_check" |
Note : l'ordre dans lequel sont cités les propriétés ne change pas le format de sortie.
Exemple complet d'appel
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
curl -s -S -H 'x-api-token: XYZ' -d 'filter0=check_name:CPU Stats' -d 'filter1=check_name:Disks' -d "sort=father_name:desc~status:asc" -d "output_format=elements_on_same_level" http://broker-server:50100/api/v2/inventory |
| Code Block |
|---|
-s, alias de --silent, ne pas afficher les barres de progression, n'affiche que les données récupérées -S, alias de --show-error, afficher quand même les messages d'erreurs -H, alias de --header, inclure ce header à la requête HTTP -d, alias de --data, envoie les données spécifiées en requête POST au serveur HTTP |