Plus le temps avance plus j’ai des services qui tournent seuls dans leurs coins et font leurs petites vies sans rien demander à personnes, au tel point que souvent je me rappel de leurs existences le jours ou ils plantent…Non, non c’est pas une expérience vécu de devoir debug une application que tu as installée mais dont tu n’as plus aucun souvenir de son fonctionnement(Oui, je parle de toi Artifactory). Mon but aujourd’hui va être de découvrir avec vous le fonctionnement de Grafana, un outils dont j’entends que du bien, dont je suis utilisateur dans le cadre professionnel, mais que je n’ai jamais configuré/installé.

L’installation

Première chose que je fais sur tous logiciels un peu lourd à installer, comme c’est le cas ici, c’est de me configurer une petite VM et de les installer à l’intérieur. Si vous ne l’avez jamais fais, je vous invite à installer un Gitlab from source, c’est plutôt “fun”. Dans le cas présent j’installe une VM Debian 9.8.0 avec seulement les outils systèmes standard et le service SSH(plus simple pour copier/coller 😉 ). Une fois connecté en SSH, je commence par installer le minimum syndical : Vim et curl, ensuite je suis simplement la méthode “APT Repository“. Qui consiste aux fameuses étapes : “Ajout du répertoire apt”, “Ajout de la clef GPG”, “sudo apt-get update”, “sudo apt-get install <logiciel>”. Je suis ensuite les étapes données en fin d’installation pour lancer Grafana :

systemctl daemon-reload
systemctl enable grafana-server
systemctl start grafana-server

Par la suite, je vais visiter les différents fichiers mentionnés dans le lien donnée précédemment, pour découvrir leurs contenus et éventuellement y revenir plus tard. Les fichiers que je retiens de de façons logique sont : “/var/log/grafana/grafana.log” et “/etc/grafana/grafana.ini”. Ils sont respectivement le fichier de log et le fichier de configuration.
Je me connecte ensuite au port 3000 de ma VM sur un navigateur, et la surprise :

Image montrant l'interface de connexion de Grafana
interface de connexion de Grafana

A la première connexion avec les identifiants par défaut(admin/admin), il vous est proposé de changer de mot de passe. Je suis par la suite le “Getting Started” proposé dans la documentation.

Choix de la source de données(Data source)

Pour que grafana puisse faire de beaux graphiques vous devez avoir des données à exposer. En lisant un article(en) sur le sujet, je décide d’utiliser Prometheus comme source de données. Me voilà parti pour installer Prometheus, j’ai de la chance, sur Debian un petit “sudo apt-get install prometheus” suffit ! Je le lance(“systemctl start prometheus”) et je me connecte au port 9090 de la VM.

Image montrant la page principale de Prometheus

Pour tous vous avouer, je suis resté bloqué pendant plusieurs minutes juste à me promener dans les menus à chercher, à comprendre comment ça pouvait fonctionner avant de me rendre sur le site officiel et de suivre le « Getting Started ». On y apprend à auto-monitorer Prometheus, plutôt sympa pour avoir des données de test ! J’ajoute maintenant Prometheus comme Data Source dans Grafana.

Installations d’exporters

Pour avoir des données plus compréhensible, je décide d’installer le module Prometheus node exporter. Ce dernier permet de récolter des informations sur la machine sur laquelle il tourne et les expose sur le port 9100. Il faut donc penser à sécuriser ce port(derrière un reverse proxy et/ou un par-feu pour filtrer les ip autorisées). Au moment de l’installation je découvre que le package de Debian l’installe déjà par defaut, il suffit donc de l’activer : “sudo systemctl enable prometheus-node-exporter”.

Je retourne ensuite dans la config de Prometheus, je le rajoute dans les nodes à exporter(par défaut localhost est déjà dans la config) et je reload le service(“sudo systemctl reload prometheus”). Après avoir lu la documentation autour du système de requête, je fais mes premières requêtes directement depuis Promtheus.Je migre rapidement sur Grafana, je configure 3 pannels, un pour le CPU, un pour le disque et finalement un pour le réseau. Voici le résultat :

Mon premier Dashboard de test sur Grafana avec 3 panels : un pour le CPU, un pour le disque et un pour le réseau.

Même si ce n’est que le début d’un vrai système de monitoring, je suis plutôt content du résultat. J’installerai évidement ce système sur le NAS quand j’aurais fini de le mettre en place. Un article parlant de plusieurs exporter Prometheus pourrait-il vous intéresser ? L’espace commentaire est disponible pour toutes remarques et/ou questions.

Leave a Reply

Your email address will not be published. Required fields are marked *