Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 9
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmlfalse
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtruescroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Les Paramètres

Globalement, il y a 4 types de paramètres :

Nom et formatValeur par défautDescription et Syntaxe

filter0=expression~expression~...
...
filter9=...

Aucun filtre défini => tous les éléments sont retournés

  • ~ ayant le sens de "et" 
  • expression de la forme :  critère:valeur0^^valeur1 
    • ^^ a le sens de "ou"

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.

S'il y a plusieurs filtres, 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

  • ~ ayant le sens de "et" 
  • "propriete" étant une des propriétés disponibles en sortie de la requête
  • order valant asc ou desc

output_format=valeur

elements_on_same_level (ou non utilisé pour certaines requêtes)

  • valeur valant checks_attached_to_father ou elements_on_same_level

ouput_field=propriete1~propriete2~...

spécifique à chaque requête

  • ~ ayant le sens de "et" 
  • "propriete" étant une des propriétés disponibles en sortie de la requête
Warning
titleIMPORTANT

Par défaut, les appels utilisent tous ces paramètres, mais certaines routes ont des exceptions

filterX ( Filtres )
Anchor
filterX
filterX

Les filtres ont pour formes :

  • filterX=expression~expression
    • ~ ayant le sens de "et" 
    • expression de la forme : critère:valeur0^^valeur1
      • ^^ 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:

Pour les éléments de type HOST 
NomMatchingTypeValeurExemple d’expression

status

correspond exactement

Tableau

0 pour OK

  • 2 pour INJOIGNABLE
  • Pour tous les autres éléments : 

  • 0 pour OK
  • 1 pour

    1 pour

    CRITIQUE

    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

     TableauUUID des hôtes / clusters4a893fbbcb0047b8a1922bce91e3dfdg

    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

     TableauUUID 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_sincecorrespond à la contrainte de dateContrainte 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
    languagetext
    themeEmacs
    titleExemple de définition du paramètre filter
    "filter0=context:DOWNTIME^^ACKNOWLEDGED~status:2~type:check^^cluster^^host~father_name:datacenter bordeaux"

    sort ( tri des résultats )
    Anchor
    sort
    sort

    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
    languagetext
    themeEmacs
    titleExemple de définition du paramètre sort
    "sort=father_name:desc~status:asc"

    output_format ( structure du retour )
    Anchor
    output_format
    output_format

    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
    outputField
    outputField

    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

    NomSortieValeurs possiblesExemple d’expression

    status

    1 valeur

    0 pour OK1 pour ATTENTION2 pour CRITIQUE3 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_since1 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

    Le reste des propriétés apparaissant dans le retour

    NomSortieValeur possibleExemple 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"

    thresholds_display

    1 valeur

    texte

    "Warning 70%\nCritique 90%"

    Exemple d'utilisation


    Code Block
    languagetext
    themeEmacs
    titleExemple de définition du paramètre ouput_field
    "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
    languagetext
    themeEmacs
    titleExemple par Appel curl
    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
    languagetext
    themeEmacs
    -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