Le module livedata-module-sla-provider doit être activé sur le broker-module-livedata pour que la route /api/v1/sla/ soit accessible. La configuration du module se trouve par défaut dans le fichier suivant : /etc/shinken/modules/livedata-module-sla-provider.cfg : Le livedata-module-sla-provider |
Méthode POST de type READ qui permet de recevoir la liste des données SLA de tous les éléments ( hôtes, clusters et checks ) :
Pour définir l'appel, 5 paramètres sont disponibles :
Les filtres ont pour formes :
Les critères suivants sont utilisables :
type
father_name
father_uuid
father_templates
check_name
check_uuid
address
realm
host_groups
notification_contacts
notification_contact_groups
business_impact
Vous pouvez trouver la description de ces filtres dans la page V1 - Les paramètres de l'API du module livedata-module-sla-provider du broker-module-livedata
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 ou le filtre vaut uniquement type=check ( donc pas d'hôtes ou clusters )
Ce paramètre permet de lister les champs qui seront affichés sur le résultat en sortie.
| Les champs ci-dessus sont décrits dans la page V1 - Les paramètres de l'API du module livedata-module-sla-provider du broker-module-livedata |
Nom | Format | Description |
|---|---|---|
sla_total | Secondes | Temps total de SLA ( 86400 secondes étant 1 journée complète ) |
sla_missing | Secondes | Temps en statut Données manquantes |
sla_ok | Secondes | Temps en statut OK |
sla_inactive | Secondes | Temps en statut Shinken Inactive |
sla_unknown | Secondes | Temps en statut Inconnu |
sla_crit | Secondes | Temps en statut Critique |
sla_warn | Secondes | Temps en statut Attention |
sla_thresholds | Liste de pourcentages | Deux pourcentages :
Les pourcentages ont une précision à 3 chiffres ( ex: 90.001 ) |
sla_date | Chaîne de caractères | au format jj_mm_aaaa ( ex: 12_05_2021 ) |
Nom | Valeur par défaut | Description et syntaxe |
|---|---|---|
| period=start:date~end:date | La dernière heure | Défini la période où collecter les données SLA
|
L'API peut, grâce à ce paramètre, définir le nombre d'éléments par page et le numéro de la page retournée, ce qui permet de contrôler le volume d'échange de données. Ceci est possible vu que les données SLA sont figées en base de données.
Le champ has_next_page dans la partie pagination du retour permet de savoir s’il y a une page suivante.
| Nom | Valeur par défaut | Info |
|---|---|---|
page_settings=page:page_index~nb_element:size | Le nombre d'éléments par défaut d'une page est 100 |
|
Si le check_in_tree est à True, le nombre d'éléments par page correspondra aux hôtes / clusters. Si le check_in_tree est à False, le nombre d'éléments par page correspondra aux hôtes / clusters / checks. |
Exemple permettant d'obtenir la première page d'une requête renvoyant 100 éléments avec leurs données SLA, du début de l'année 2021 au 1er mai 2021.
curl -s -S -H "x-api-token: XYZ" \ -d "period=start:01_01_2021:~end:01_05_2021" \ -d "page_settings=page:0~nb_element:100" \ http://broker-module-livedata:50100/api/v1/sla |
Exemple permettant d'obtenir la quatrième page d'une requête renvoyant 100 éléments avec leurs données SLA, du début de l'année 2021 au 1er mai 2021.
curl -s -S -H "x-api-token: XYZ" \ -d "period=start:01_01_2021~end:01_05_2021" \ -d "page_settings=page:4~nb_element:100" \ http://broker-module-livedata:50100/api/v1/sla |
| Codes de retour | Explications |
|---|---|
| 200 | OK |
| 400 | Paramètre invalide |
| 401 | Accès nécessite une authentification ou un Token valide. |
| 403 | Authentification de l'utilisateur OK, mais droits non suffisants. |
| 500 | L'appel est valide, mais un problème d'exécution est survenu. |
En premier apparaîtra des informations donnant le nombre d'éléments :
Avec une information supplémentaire propre à la route :
| Nom | Format | Description |
|---|---|---|
| nb_sla_in_page | Entier | Nombre de données SLA présentes dans la page |
En deuxième, les données de pagination vont être retournées dans le format suivant :
Les champs présents pour chaque élément retourné possédant des données SLA doivent être choisis avec l'option output_field, mais les champs suivants sont au minimum automatiquement retournés :
Output_format à checks_attached_to_father :
Output_format à elements_on_same_level :
Output_format à list_of_sla :
Voir la page V1 - Les champs présents dans le retour 200 des API du broker-module-livedata, pour la description complète de tous les champs pouvant être renvoyés. Pour les éléments non trouvés, les critères utilisés dans les filtres seront renvoyés dans la description des l'élément.
curl -s -S -H "x-api-token: XYZ" \ -d "period=start:24_05_2021~end:25_05_2021" \ -d "output_format=checks_attached_to_father" \ -d "filter01=type:check" \ -d "page_settings=page:0~size:2" \ http://broker-module-livedata:50100/api/v1/sla |
{
"request_statistics": {
"nb_elements_total": 34,
"nb_hosts_total": 3,
"nb_clusters_total": 1,
"nb_checks_total": 30,
"nb_elements_filtered": 4,
"nb_hosts_filtered": 1,
"nb_clusters_filtered": 1,
"nb_checks_filtered": 2,
"nb_elements_in_page": 4,
"nb_hosts_in_page": 1,
"nb_clusters_in_page": 1,
"nb_checks_in_page": 2,
"nb_sla_in_page": 4
},
"pagination": {
"has_next_page": true,
"nb_total_page": 2,
"page": 0,
"page_size": 2
},
"elements_found": {
"clusters": [{
"father_uuid": "12760f56bc6d11eb85a3080027c44e8f",
"father_name": "Cluster 01",
"checks": [{
"check_name": "Check Cluster 01",
"check_uuid": "12760f56bc6d11eb85a3080027c44e8f-9d86c522bd3511ebb58c080027c44e8f",
"sla": [{
"sla_date": "24_05_2021",
"sla_total": 86400,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 0,
"sla_ok": 0,
"sla_inactive": 86400,
"sla_crit": 0
}, {
"sla_date": "25_05_2021",
"sla_total": 47616,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 0,
"sla_ok": 0,
"sla_inactive": 47616,
"sla_crit": 0
}
]
}
]
}
],
"hosts": [{
"father_uuid": "f87c2e56b94b11ebaf7e080027c44e8f",
"father_name": "Host 01",
"checks": [{
"check_name": "Check 01",
"check_uuid": "f87c2e56b94b11ebaf7e080027c44e8f-fdd0c038b94b11ebb21f080027c44e8f",
"sla": [{
"sla_date": "24_05_2021",
"sla_total": 86400,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 0,
"sla_ok": 0,
"sla_inactive": 86400,
"sla_crit": 0
}, {
"sla_date": "25_05_2021",
"sla_total": 86400,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 0,
"sla_ok": 0,
"sla_inactive": 86400,
"sla_crit": 0
}
]
}
]
}
]
}
} |
curl -s -S -H "x-api-token: XYZ" \ -d "period=start:24_05_2021~end:25_05_2021" \ -d "output_format=elements_on_same_level" \ -d "filter01=type:check" \ -d "page_settings=page:0~size:2" \ http://broker-module-livedata:50100/api/v1/sla |
{
"request_statistics": {
"nb_elements_total": 34,
"nb_hosts_total": 3,
"nb_clusters_total": 1,
"nb_checks_total": 30,
"nb_elements_filtered": 30,
"nb_hosts_filtered": 0,
"nb_clusters_filtered": 0,
"nb_checks_filtered": 30,
"nb_elements_in_page": 2,
"nb_hosts_in_page": 0,
"nb_clusters_in_page": 0,
"nb_checks_in_page": 2,
"nb_sla_in_page": 4
},
"pagination": {
"has_next_page": true,
"nb_total_page": 15,
"page": 0,
"page_size": 2
},
"elements_found": [{
"check_name": "Check Cluster 01",
"type": "check_cluster",
"father_uuid": "12760f56bc6d11eb85a3080027c44e8f",
"father_name": "Cluster 01",
"check_uuid": "12760f56bc6d11eb85a3080027c44e8f-9d86c522bd3511ebb58c080027c44e8f",
"sla": [{
"sla_date": "24_05_2021",
"sla_total": 86400,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 0,
"sla_ok": 0,
"sla_inactive": 86400,
"sla_crit": 0
}, {
"sla_date": "25_05_2021",
"sla_total": 51527,
"sla_warn": 0,
"sla_unknown": 24183,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 3916,
"sla_ok": 0,
"sla_inactive": 23428,
"sla_crit": 0
}
]
}, {
"check_name": "Check 01",
"type": "check_host",
"father_uuid": "f87c2e56b94b11ebaf7e080027c44e8f",
"father_name": "Host 01",
"check_uuid": "f87c2e56b94b11ebaf7e080027c44e8f-fdd0c038b94b11ebb21f080027c44e8f",
"sla": [{
"sla_date": "24_05_2021",
"sla_total": 86400,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [99.0, 97.0],
"sla_missing": 165,
"sla_ok": 27344,
"sla_inactive": 58891,
"sla_crit": 0
}, {
"sla_date": "25_05_2021",
"sla_total": 86400,
"sla_warn": 0,
"sla_unknown": 0,
"sla_thresholds": [58.654, 32.451],
"sla_missing": 245,
"sla_ok": 27881,
"sla_inactive": 58274,
"sla_crit": 0
}
]
}
]
} |
curl -s -S -H "x-api-token: XYZ" \ -d "period=start:24_05_2021~end:25_05_2021" \ -d "output_format=list_of_sla" \ -d "filter01=type:check" \ -d "page_settings=page:0~size:2" \ http://broker-module-livedata:50100/api/v1/sla |
{
"request_statistics": {
"nb_elements_total": 34,
"nb_hosts_total": 3,
"nb_clusters_total": 1,
"nb_checks_total": 30,
"nb_elements_filtered": 30,
"nb_hosts_filtered": 0,
"nb_clusters_filtered": 0,
"nb_checks_filtered": 30,
"nb_elements_in_page": 1,
"nb_hosts_in_page": 0,
"nb_clusters_in_page": 0,
"nb_checks_in_page": 1,
"nb_sla_in_page": 2
},
"pagination": {
"has_next_page": "true",
"nb_total_page": 30,
"page": 0,
"page_size": 2
},
"elements_found": [{
"sla_total": 86400,
"sla_thresholds": [99.0, 97.0],
"check_name": "Check Cluster 01",
"check_uuid": "12760f56bc6d11eb85a3080027c44e8f-9d86c522bd3511ebb58c080027c44e8f",
"father_uuid": "12760f56bc6d11eb85a3080027c44e8f",
"sla_ok": 0,
"sla_inactive": 86400,
"sla_warn": 0,
"sla_date": "24_05_2021",
"father_name": "Cluster 01",
"sla_unknown": 0,
"sla_missing": 0,
"type": "check_cluster",
"sla_crit": 0
}, {
"sla_total": 51527,
"sla_thresholds": [99.0, 97.0],
"check_name": "Check Cluster 01",
"type": "check_cluster",
"father_uuid": "12760f56bc6d11eb85a3080027c44e8f",
"sla_ok": 0,
"sla_inactive": 23428,
"sla_crit": 0,
"sla_date": "25_05_2021",
"father_name": "Cluster 01",
"sla_unknown": 24183,
"sla_missing": 3916,
"check_uuid": "12760f56bc6d11eb85a3080027c44e8f-9d86c522bd3511ebb58c080027c44e8f",
"sla_warn": 0
}
]
} |