
Générer des rapports avec Grafana et planifier leur livraison
Dans cet article, nous allons voir quelque chose de très intéressant, si nous avons des tableaux de bord Grafana très cool, où avec des graphiques personnalisés, nous voyons à tout moment la situation de notre plate-forme, Non? Imaginez cela à ceci, nous ajoutons la possibilité de générer un rapport de tableau de bord qui nous intéresse en PDF, et nous avons programmé votre e-mail pour voir le résumé d’hier, de la semaine dernière…
Droit au but, Venir! Nous avons commencé avec un utilitaire qu’Izak Marais a développé et que nous avons sur GitHub (de Microsoft déjà, Qui le comprend…), bien, Nous avons un service qui générera un fichier PDF du tableau de bord qui nous intéresse via PDFlatex, Et puis avec SendEmail, nous enverrons l’e-mail totalement personnalisé et avec les rapports que nous voulons!
Exigences,
Premières choses, sur notre machine Grafana, dans mon cas, c’est un Centos 7.3 à laquelle nous installerons les exigences suivantes:
[Code source]Yum install TexLive-pdftex Texlive-latex-bin Texlive-Texconfig* Texlive-Latex* Texlive-Metafont* Texlive-CMAP* Texlive-EC TexLive-FNCYCHAP* TexLive-pdfTex-Def TexLive-FancyHDR* Texlive-TitleSEC* Texlive-Multirow Texlive-framed* Texlive-Wrapfig* Texlive-Parskip* Texlive-Caption Texlive-ifluatex* Texlive-collection-fontsRecommended Texlive-collection-Latex Recommended TexInfo-Tex[/Code source]
Nous téléchargeons Go et l’installons:
[Code source]wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.10.2.linux-amd64.tar.gz
exporter PATH=$PATH:/usr/local/go/bin[/Code source]
Et enfin, nous téléchargeons le Reporter qui nous permettra de faire ce que nous avons dit, générer un PDF avec les tableaux de bord Grafana:
[Code source]Allez chercher github.com/IzakMarais/reporter/…
Allez installer -v github.com/IzakMarais/reporter/cmd/grafana-reporter[/Code source]
On finit par ouvrir le port dans le pare-feu et recharger la configuration:
[Code source]pare-feu-cmd –zone=public –Permanent –port-add=8686/tcp
pare-feu-cmd –Recharger[/Code source]
Nous allons pouvoir essayer de l’exécuter directement pour valider que tout fonctionne bien, ou utilisez '–Aide’ pour voir quelques paramètres intéressants, comme la connexion à un Grafana distant, etc… Courir:
[Code source]/root/go/bin/grafana-reporter[/Code source]
Oeil! Avant d’aller plus loin, Les tableaux de bord doivent être créés dans Grafana v5 et non hérités de la v4, D’accord? Si nous avons un ancien tableau de bord, si simple qu’il sera facile de faire un “Enregistrer sous…” et nous le ferons transformer en une version 5.
Génération manuelle d’un rapport,
À l’heure actuelle, nous pourrions essayer de générer un rapport, Nous avons plusieurs options, l’une d’entre elles serait de créer un bouton de rapport dans le tableau de bord lui-même afin que lorsque quelqu’un souhaite, télécharger un PDF de ce que vous visualisez. Ce serait aussi simple qu’à Grafana:
Au sein du tableau de bord qui nous intéresse > Nous cliquons sur l’écrou ou “Paramètres” > “Lien” > “Ajouter un lien vers le tableau de bord” et nous indiquons les données suivantes
- Type: Lien, Nous avons laissé ce gars marqué.
- URL: HTTP://DIRECCION_IP_GRAFANA:8686/api/v5/rapport/{tableau de bordUID}
- Titre: Rapport PDF
- Infobulle: Générer un PDF de ce tableau de bord
- Icône: Médecin, pour être l’icône d’un document.
- Plage horaire: Nous le marquons pour vous permettre de mettre des périodes de temps.
- Valeurs des variables: Nous l’avons marqué pour jouer avec les dates.
- Ouvrir dans un nouvel onglet: Nous le marquons si nous voulons que le PDF le génère dans un nouvel onglet.
Et rien, nous verrions un bouton qui, lorsqu’il est pressé, générera le rapport en PDF!
Comme on peut le deviner, l’URL pour générer le PDF serait quelque chose comme (évidemment on peut jouer avec les marges des dates ou des périodes du PDF):
[Code source]HTTP://DIRECCIÓN_IP_GRAFANA:8686/api/v5/report/ID-DASHBOARD?de=maintenant-24h&to=maintenant[/Code source]
Génération de rapports planifiés,
Venez aux choses intéressantes! Premières choses, Il faut faire démarrer le graphana-reporter avec la machine, le plus rapide, pour qu’il démarre au démarrage, nous ajoutons également dans Cron avec 'crontab -e’ Ce qui suit:
[Code source]@reboot /root/go/bin/grafana-reporter[/Code source]
Si nous voulons les envoyer automatiquement par e-mail, Nous installerons SendEmail:
[Code source]Yum Install SendEmail[/Code source]
Nous allons créer un script où nous allons mettre les URL des rapports que nous souhaitons générer et les télécharger avec wget, et enfin nous les avons envoyés par email, Je l’appellerai 'grafana_report_diario.sh' par exemple:
[Code source]# Tableau de bord des serveurs VMware
wget -O diario_VMware.pdf http://DIRECCION_IP_GRAFANA:8686/api/v5/report/NRkUakSik?de=maintenant-24h&to=maintenant
# Tableau de bord Citrix Server
wget -o diario_Citrix.pdf http://DIRECCION_IP_GRAFANA:8686/api/v5/report/YpIJqYkik?de=maintenant-24h&to=maintenant
Sommeil 40s
/usr/bin/sendemail -f de***@bu*****.cOm-t Papa**@bu*****.cOm -s mail.bujarra.com -m "Chers Messieurs,,\nLes rapports avec la consommation de votre datacenter sont joints.nBonne journée!" -u "Grafana – Rapport quotidien" -Xu NOUS*****@bu*****.cOm -xp XXXXXXXX -o tls=auto -a diario_VMware.pdf diario_Citrix.pdf[/Code source]
Ce texte grafana_report_diario.sh’ Il sera exécuté, par exemple, tous les jours à 0 heures du matin et, comme nous pouvons le voir, il prendra des données fraîches et les enverra par e-mail à nos patrons, Maîtres d’ouvrage, Département informatique…
Résultat,
Il s’agit d’un exemple du PDF que vous allez recevoir, bien sûr, chacun aura son propre tableau de bord personnalisé, Eh bien, qu’il serve d’exemple!
Ne me dites pas non!!! Impressionnant!!!
J’espère que vous l’avez trouvé intéressant et que vous pouvez toujours apporter quelque chose de nouveau et de positif dans votre travail!!