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 IP utilisée dans l'URL sera celle du broker.
- Le rapport généré sera le même que les Rapport CSV.
Les paramètres
Pour générer un rapport depuis l'URL, vous avez besoin de déterminer différents paramètres. Ceux-ci seront envoyés par une requête HTTP de type GET.
Voici un tableau récapitulatif de ces paramètres :
Pour utiliser ces paramètres, vous aurez besoin des informations suivantes:
- l'adresse de l'UI de visualisation : http://ip-serveur-shinken:7767
- l'adresse de l'API des rapports (celle-ci est fixe) : /reporting-csv
- 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).
Ce qui nous donne par exemple :
Les éléments à afficher
Il est possible de générer différents rapports suivant le type d’éléments choisi avec l'URL.
- Le type choisi (en complément avec le filtre) vous permet de déterminer quels seront les éléments affichés.
- Ce paramètre est obligatoire. S'il est absent ou mal orthographié, une erreur 400 (Bad Request) vous sera retournée.
Voici les différents types de filtres disponibles :
| Type de filtre | Description |
|---|---|
| normal/cluster/ | Affiche l'état d'un cluster. |
| normal/host/ | Affiche l'état d'un hôte. |
| normal/check/ | Affiche l'état d'un check sur les différents hôtes sur lesquels il est présent. |
| normal/host_template/ | Affiche l'état des hôtes qui ont ce modèle. |
| normal/hostgroup/ | Affiche l'état des hôtes contenus dans un groupe d'hôte. |
Ce qui nous donne par exemple :
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 nous donne par exemple :
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).
Génération du rapport
Voici par exemple l'URL suivante :
http://ip-serveur-shinken:7767/reporting-csv?login=YWRtaW4=&password=YWRtaW4=&dateBegin=2017-07-01&dateEnd=2017-07-31&type=normal/host/&filter=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
- type=normal/host/ : le type de rapport
- filter=Shinken : le filtre 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.
Ex. :
$ wget -O 2017-07_rapport-host_shinken.csv "http://ip-serveur-shinken:7767/reporting-csv?login=YWRtaW4= &password=cGFzc3dvcmQ=&dateBegin=2017-07-01&dateEnd=2017-07-31&type=normal/host/&filter=Shinken" --2017-08-24 09:24:01-- http://ip-serveur-shinken:7767/reporting-csv?login=YWRtaW4=&password=cGFzc3dvc mQ=&dateBegin=2017-07-01&dateEnd=2017-07-31&type=normal/host/&filter=Shinken Connecting to ip-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]