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 :

Nom du paramètreObligatoireValeur par défautValeurs possiblesExemples
dateBeginOUI
Date dans le format "AAAA-MM-JJ"2017-07-01
dateEndOUI
Date dans le format "AAAA-MM-JJ"2017-07-31
typeOUI
Consulter la partie sur les types de rapportsnormal/cluster/
filterOUI
Chaîne de caractère contenue dans le nom de l'élément filtré


all_oracle
data_typeNONDépend des autorisations de l'utilisateursla, history, history_slahistory_sla
loginNONnom d'utilisateur depuis le cookieLe nom de l'utilisateur encodé en base64YWRtaW4=
passwordNONmot de passe depuis le cookieLe mot de passe de l'utilisateur encodé en base64cGFzc3dvcmQ=
critical_thresholdNON99Seul des nombres de 0 à 100 sont autorisés98
warning_thresholdNON97Seul des nombres de 0 à 100 sont autorisés90

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 filtreDescription
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éeDescription
history_slaAffiche les données d'historique et de SLA dans le rapport
historyAffiche seulement les données d'historique dans le rapport
slaAffiche 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]


Pour exploiter ce rapport, voir la partie concernant les Rapport CSV.