| Scroll Ignore | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Concept
Les Rapports par URL peuvent être créés depuis un navigateur, mais également depuis une ligne de commande ou un script, ce qui permet sa génération automatique depuis un crontab ou bien un ordonnanceur.
- L'adresse utilisée dans l'URL sera celle de la WebUI.
- Le rapport généré sera le même que les rapports générés depuis le formulaire de la WebUI ( voir la page Génération des rapports ).
Les formats et les paramètres
Pour générer un rapport depuis l'URL, il faut déterminer différents paramètres. Ceux-ci seront envoyés par une requête HTTP de type GET.
Les URLs de formats disponibles :
- /reporting-csv ( voir la page Rapport CSV ).
- /reporting-pdf ( voir la page Rapport PDF ).
Voici un tableau récapitulatif de ces paramètres :
| Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Voici les informations pour utiliser ces paramètres :
- L'adresse de l'UI de visualisation : http://ip-serveur-shinken:7767/
- L'adresse de l'API des rapports :
- /reporting-csv
- /reporting-pdf
- La liste de tous les paramètres (obligatoires et facultatifs):
- Le premier paramètre est précédé d'un "?".
- Les paramètres suivants sont ajoutés par un "&".
- Les noms des paramètres sont suivis d'un "=" puis de la valeur souhaitée.
- Aucun espace n'est autorisé.
- Si un paramètre obligatoire est manquant, le serveur générera une erreur 400 (Bad Request).
Par exemple : http://ip-serveur-shinken:7767/reporting-csv?dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken
| Warning | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Certains caractères sont interdits dans les URL, ils doivent être échappés (URL encodées) pour pouvoir être utilisés.
Pour plus d'information : https://developer.mozilla.org/fr/docs/Glossary/percent-encoding et rfc3986 Exemple : pour utiliser le nom ch@nged_name il faudra utiliser l'url http://ip-serveur-shinken:7767/reporting-csv?dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:ch%40nged_name |
Type de sélection
Il y a deux types de sélection :
- filter ( Choisir les éléments ) : cette sélection permet de choisir les éléments du rapport avec des filtres.
- all_realm_hosts ( Tous les hôtes du royaume ) : cette sélection permet de sélectionner tous les hôtes d'un royaume.
Le type de sélection par défaut est filter si le paramètre selection_type n'est pas renseigné.
| Anchor | ||||
|---|---|---|---|---|
|
Le type de sélection filter permet de choisir les éléments du rapport avec des filtres.
Les filtres ont pour formes :
- filterX=expression
- expression de la forme : type:valeur
- X vaut de 0 à 9.
- Chaque élément correspondant à au moins un des filtres sera retourné.
Le type choisi permet de déterminer quels seront les éléments affichés. Voici les différents types de filtres disponibles :
| Type de filtre | Description |
|---|---|
| cluster | Affiche l'état d'un cluster. |
| host | Affiche l'état d'un hôte. |
| check | Affiche l'état d'un check sur les différents hôtes sur lesquels il est présent. |
| host_template | Affiche l'état des hôtes qui ont ce modèle. |
| cluster_template | Affiche l'état des clusters qui ont ce modèle. |
| hostgroup | Affiche l'état des hôtes contenus dans un groupe d'hôte. |
Ce qui donne par exemple :
- http://ip-serveur-shinken:7767/reporting-csv?dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken&filter1=cluster:MongoDB
Tous les hôtes du royaume
Le type de sélection all_realm_hosts permet de sélectionner tous les hôtes d'un royaume.
Pour que ce type de sélection soit activé, il faut préalablement choisir un royaume avec le paramètre realm.
Avec cette sélection, le rapport sera constitué de tous les hôtes uniquement ( pas de checks, pas de clusters ).
Ce qui donne par exemple :
- http://ip-serveur-shinken:7767/reporting-csv?dateBegin=2017-07-01&dateEnd=2017-07-31&selection_type=all_realm_hosts&realm=Bordeaux
Les types de données à afficher
Il est également possible d'inclure différents types de données dans les rapports.
Les différents types de données sont les suivants:
- Historique
- SLA
- Historique & SLA
Selon le type de données choisi, le rapport sera généré selon les autres options et en fournissant seulement les données d'historique, de SLA ou les deux.
- Par contre, ces données peuvent ne pas être accessibles pour l'utilisateur selon ses droits. Dans ce cas, une erreur HTTP 401 est retournée.
- Si le type de donnée n'est pas spécifié, le rapport affichera autant de données que possible.
- Si l'utilisateur a accès à l'historique et aux SLA,
- Les 2 types de données seront présents dans les rapports.
- Sinon, seul le type de données auxquelles il a accès sera présent dans les rapports (Historique ou SLA selon le profil utilisateur).
Les différents types de données sont les suivants:
| Type de donnée | Description |
|---|---|
| history_sla | Affiche les données d'historique et de SLA dans le rapport |
| history | Affiche seulement les données d'historique dans le rapport |
| sla | Affiche seulement les données de SLA dans le rapport |
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-csv?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken
| Info |
|---|
Si le champ data_type n'est pas présent dans l'URL, le type de données affiché sera, selon les droits de l'utilisateur, celui affichant le plus de données ( history_sla, sla, history, dans cette ordre ). |
Paramétrage du graphique SLA
Permet d'afficher un graphique des taux SLA pour chaque élément sur la période sélectionnée.
Pour cela, le paramètre daily_sla_graph doit être activé.
Il est possible de paramétrer le graphique en modifiant le type d'échelle ainsi que les valeurs maximum ( Y max ) et minimum ( Y min ) affichées.
| Warning |
|---|
Le graphique affichera seulement 31 jours, même si la période choisie est plus grande. |
| Anchor | ||||
|---|---|---|---|---|
|
Échelles disponibles pour le paramètre graph_scale :
- SCALE_AUTO ( Auto ( Zoom centré sur le seuil critique ) ) : Utilise le type d'échelle Zoom sur la partie haute ( voir ci-dessous ) utilisant des paramètres prédéfinis par Shinken.
- SCALE_LINEAR ( Linéaire ) : Affiche les taux SLA entre les valeurs maximum et minimum choisis ( Y max, Y min ).
- SCALE_ZOOM_TOP ( Zoom sur la partie haute ) : Affiche un zoom sur les taux SLA entre les valeurs maximum et minimum choisis ( Y max, Y min ) en haut du graphique.
- SCALE_LOGARITHMIC ( Échelle logarithmique ) : Affiche les taux SLA sur une échelle logarithmique.
| Warning |
|---|
Suivant les choix, si Y max est supérieur à Y min pour un ou plusieurs éléments, Y max prendra automatiquement la valeur 100%. |
Auto ( Zoom centré sur le seuil critique )
L'option SCALE_AUTO utilise le type d'échelle Zoom sur la partie haute ( voir ci-dessous ) utilisant des paramètres prédéfinis par Shinken.
Ces paramètres sont :
- Y max: Valeur à 100%
- Y min: Centrée sur le seuil critique
Cette option est l'option par défaut utilisé pour afficher les graphiques SLA.
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-pdf?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken&daily_sla_graph=on&graph_scale=SCALE_AUTO
Linéaire ( avec bornes haute et basse )
L'échelle SCALE_LINEAR affiche les données du graphique entre Y max et Y min.
Les paramètres par défaut de l'échelle sont:
- Y max: Valeur à 100%
- Y min: Minimum SLA + marge à 0.1%
| Panel |
|---|
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-pdf?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken&daily_sla_graph=on&graph_scale=SCALE_LINEAR
Zoom sur partie haute ( avec bornes sur le zoom )
L'échelle SCALE_ZOOM_TOP affiche le graphique en deux parties. Sur la partie haute du graphique, un zoom est effectué sur les données situées entre les valeurs Y min et Y max. Et sur la partie basse du graphique ( zone grisée ), on affiche le reste des données sur une échelle linéaire.
Les paramètres par défaut de l'échelle sont:
- Y max: Valeur à 100%
- Y min: Centré sur le seuil critique
| Panel |
|---|
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-pdf?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken&daily_sla_graph=on&graph_scale=SCALE_ZOOM_TOP
Echelle logarithmique ( 0 - 100% )
L'échelle SCALE_LOGARITHMIC permet d'afficher le graphique sur une échelle logarithmique.
Y max et Y min ne sont pas configurable pour l'Échelle logarithmique.
Les paramètres par défaut de l'échelle sont:
- Y max: Valeur à 100%
- Y min: Valeur à 0%
| Panel |
|---|
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-pdf?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken&daily_sla_graph=on&graph_scale=SCALE_LOGARITHMIC
| Anchor | ||||
|---|---|---|---|---|
|
Plusieurs options sont disponibles pour le paramétrage des valeurs Y min et Y max :
Y max
Le paramètre graph_ymax permet de définir la valeur maximum qui sera affichée dans le graphique. Plusieurs options sont disponibles pour paramétrer cette valeur.
| Option | Nom | Description |
|---|---|---|
| Y_MAX_AUTO | Automatique | Utilise l'option et la valeur par défaut selon l'échelle sélectionnée. |
| Y_MAX_VALEUR | Valeur | Permet de saisir manuellement la valeur maximale à afficher avec le paramètre graph_ymax_value. |
| Y_MAX_MAXIMUM_SLA | Maximum SLA + marge | Permet de définir Y max à la valeur la plus haute du graphique et d'y rajouter une marge d'affichage. Cette marge permet de laisser un espace au-dessus de la valeur maximale afin de faciliter la lecture. Par défaut, la marge est 0.1 et peut être modifiée avec le paramètre graph_ymax_value. |
| Y_MAX_SEUIL_CRITIC | Seuil critique + marge | Permet de définir Y max à la valeur du seuil critique et d'y rajouter une marge d'affichage. Par défaut, la marge est 0.1 et peut être modifiée avec le paramètre graph_ymax_value. |
| Y_MAX_SEUIL_WARNING | Seuil d'avertissement + marge | Permet de définir Y max à la valeur du seuil d'avertissement et d'y rajouter une marge d'affichage. Par défaut, la marge est 0.1 et peut être modifiée avec le paramètre graph_ymax_value. |
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-pdf?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken&daily_sla_graph=on&graph_scale=SCALE_LINEAR&graph_ymax=Y_MAX_MAXIMUM_SLA&graph_ymax_value=0.5
Y min
Le paramètre graph_ymin permet de définir la valeur minimale qui sera affichée dans le graphique. Plusieurs options sont disponibles pour paramétrer cette valeur.
| Option | Nom | Description |
|---|---|---|
| Y_MIN_AUTO | Automatique | Utilise l'option et la valeur par défaut selon l'échelle sélectionnée. |
| Y_MIN_VALEUR | Valeur | Permet de saisir manuellement la valeur minimale à afficher avec le paramètre graph_ymin_value. |
| Y_MIN_MINIMUM_SLA | Minimum SLA + marge | Permet de définir Y min à la valeur la plus basse du graphique et d'y rajouter une marge d'affichage. Cette marge permet de laisser un espace en dessous de la valeur minimale afin de faciliter la lecture. Par défaut, la marge est 0.1 et peut être modifiée avec le paramètre graph_ymin_value. |
| Y_MIN_SEUIL_CRITIC | Seuil critique + marge | Permet de définir Y min à la valeur du seuil critique et d'y rajouter une marge d'affichage. Par défaut, la marge est 0.1 et peut être modifiée avec le paramètre graph_ymin_value. |
| Y_MIN_SEUIL_WARNING | Seuil d'avertissement + marge | Permet de définir Y min à la valeur du seuil d'avertissement et d'y rajouter une marge d'affichage. Par défaut, la marge est 0.1 et peut être modifiée avec le paramètre graph_ymin_value. |
| Y_MIN_SEUIL_CRITIC_CENTER | Centré sur le seuil critique | La valeur minimale est calculée afin que le seuil critique soit centré par rapport à la valeur maximale ( Y max ). |
| Y_MIN_SEUIL_WARNING_CENTER | Centré sur le seuil d'avertissement | La valeur minimale est calculée afin que le seuil d'avertissement soit centré par rapport à la valeur maximale ( Y max ). |
Ce qui donne par exemple :
- http://adresse-serveur-shinken:7767/reporting-pdf?dateBegin=2017-07-01&dateEnd=2017-07-31&data_type=history_sla&filter0=host:Shinken&daily_sla_graph=on&graph_scale=SCALE_LINEAR&graph_ymin=Y_MIN_MINIMUM_SLA&graph_ymin_value=0.5
Génération du rapport
Exemple de génération de rapport CSV
Voici par exemple l'URL suivante pour générer un rapport CSV :
http://adresse-serveur-shinken:7767/reporting-csv?login=YWRtaW4=&password=YWRtaW4=&dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken
Dans cet exemple, les paramètres utilisés sont les suivants :
- login=YWRtaW4= : représente le base64 du nom d'utilisateur
- password=cGFzc3dvcmQ= : représente le base64 du mot de passe
- dateBegin=2017-07-01 : la date de début du rapport
- dateEnd=2017-07-31 : la date de fin du rapport
- filter0=host:Shinken : filtrer par hôte sur la valeur "Shinken"
Cette URL peut être utilisée pour générer ce rapport depuis un navigateur ou bien depuis une console Linux avec la commande wget ou encore CURL.
Exemple avec wget :
| Code Block | ||||
|---|---|---|---|---|
| ||||
$ wget -O 2017-07_rapport-host_shinken.csv "http://adresse-serveur-shinken:7767/reporting-csv?login=YWRtaW4= &password=cGFzc3dvcmQ=&dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken" --2017-08-24 09:24:01-- http://adresse-serveur-shinken:7767/reporting-csv?login=YWRtaW4=&password=cGFzc3dvc mQ=&dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken Connecting to adresse-serveur-shinken:7767... connected. HTTP request sent, awaiting response... 200 OK Length: 842 [text/csv] Saving to: ‘2017-07_rapport-host_shinken.csv’ 100%[===================================================================>] 842 --.-K/s in 0s 2017-08-24 09:24:01 (127 MB/s) - ‘2017-07_rapport-host_shinken.csv’ saved [842/842] |
Exemple de génération de rapport PDF
Voici par exemple l'URL suivante pour générer un rapport PDF :
http://adresse-serveur-shinken:7767/reporting-pdf?login=YWRtaW4=&password=YWRtaW4=&dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken
Dans cet exemple, les paramètres utilisés sont les suivants :
- login=YWRtaW4= : représente le base64 du nom d'utilisateur
- password=cGFzc3dvcmQ= : représente le base64 du mot de passe
- dateBegin=2017-07-01 : la date de début du rapport
- dateEnd=2017-07-31 : la date de fin du rapport
- filter0=host:Shinken : filtrer par hôte sur la valeur "Shinken"
Cette URL peut être utilisée pour générer ce rapport depuis un navigateur ou bien depuis une console Linux avec la commande wget ou encore CURL.
Exemple avec wget :
| Code Block | ||||
|---|---|---|---|---|
| ||||
$ wget -O 2017-07_rapport-host_shinken.pdf "http://adresse-serveur-shinken:7767/reporting-pdf?login=YWRtaW4= &password=cGFzc3dvcmQ=&dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken" --2017-08-24 09:24:01-- http://adresse-serveur-shinken:7767/reporting-pdf?login=YWRtaW4=&password=cGFzc3dvc mQ=&dateBegin=2017-07-01&dateEnd=2017-07-31&filter0=host:Shinken Connecting to adresse-serveur-shinken:7767... connected. HTTP request sent, awaiting response... 200 OK Length: 807560 [application/pdf] Saving to: ‘2017-07_rapport-host_shinken.pdf’ 100%[===================================================================>] 842 --.-K/s in 0s 2017-08-24 09:24:01 (127 MB/s) - ‘2017-07_rapport-host_shinken.pdf’ saved [842/842] |


