Ce billet traite de l’installation de Grafana, et complète notre solution de métrologie déjà évoquée dans un précédent billet. Comme toujours, les commandes sont adaptées pour CentOS.
Installation de l’interface grafana
Grafana est classiquement couplé avec Carbon/Graphite, et son interface permet un rendu plus esthétique, et plus souple via l’utilisation de templates que l’interface graphite-web. Mais Graphite peut être qu’une source parmis d’autres, Grafana peut en effet être configuré pour d’autres solutions de métrologie.
A noter que depuis quelques versions, Grafana permet aussi de faire de la notification d’alertes. Il supporte différent canaux d’émission, comme le courriel ou même Slack (enfin Mattermost c’est mieux). Ce n’est pas fait pour remplacer une solution complète comme Nagios (ou autres) car il n’y a pas de gestion de calendrier, plage horaire, escalade, acquittement etc, cela reste très léger, mais efficace.
L’installation est simple et utilise le dépôt yum officiel fournit par le projet lui-même.
Voici le contenu du fichier /etc/yum.repos.d/grafana.repo:
[grafana] baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
Installation de grafana :
yum install grafana
Il ne reste plus qu’à activer et démarrer le service:
systemctl enable grafana systemctl start grafana
Par défaut le service écoute sur le port 5601, et est accessible en http. Il s’agit principalement d’une solution NodeJS avec beaucoup de javascript pour deporter un maximum de chose sur le navigateur (admin/admin par défaut).
A noter, qu’il est possible de configurer Grafana pour stocker ses données dans une base SQL plus costaud, mais par défaut le SQLite est tout à fait convenable.
L’interface est assez explicite, elle permet de créer des organisations avec des utilisateurs, qui du coup auront accès à des dashboards. Il existe de nombreux plugins pour ajouter d’autres types de graphiques que ceux par défaut, qui sont pourtant déjà biens. Peut-être un prochain billet sur son utilisation. Bien sûr, via des variables, ou des templates scriptés, il est possible de faire assez rapidement des dashboards dynamiques.
Le rendu est très propre, beaucoup de choses se font au drag&drop pour la visualisation (zoom etc) mais aussi pour l’édition des dashboards (tailles des graphs, placements etc). Bref c’est tout propre.