Grafana pour visualiser les données

Picasoft stocke des métriques dans Victoria Metrics, mais l’intérêt de tout ceci est de pouvoir les visualiser. Une solution logicielle très largement répandue est Grafana. C’est un logiciel libre qui permet de réaliser un vaste panel de graphiques différents en se connectant à différents types de TSDB, le tout dans une interface Web avec un accès fin des droits de lecture et écriture des dashboards.

Note:

L’instance de Grafana est disponible à cette adresse. Connecte toi avec ton compte Picasoft habituel. :)

Pour notre déploiement de Grafana, nous avons les besoins suivants :

  • déploiement avec Docker
  • utilisation derrière notre reverse-proxy Traefik pour la gestion du HTTPS
  • gestion des droits d’accès en lecture et écriture

Grafana est relativement simple à déployer dans la mesure où une image Docker officielle très complète existe déjà. Tout se passe via une interface Web donc le service est simple à exposer derrière Traefik, et il est possible de créer des utilisateurs et de gérer les droits d’accès aux différentes parties de Grafana. Le LDAP est actuellement utilisé pour la connexion à Grafana.

Picasoft utilise l'image Docker officielle. Le README explique comment utiliser l’image.

Une fois l’instance déployée, on peut se connecter dessus à l’aide des identifiants d’administration et commencer à configurer Grafana.

Il y a 2 concepts importants à comprendre dans Grafana : les datasources et les dashboards.
Les datasources sont, comme le nom l’indique, des sources de données pour Grafana. Ce sont des connecteurs qui peuvent se connecter à un grand nombre de base de données : InfluxDB, Prometheus, OpenTSDB, etc.
Les dashboards sont tout simplement des vues sur lesquelles il est possible de mettre plusieurs graphiques à visualiser.

Dans notre cas, Picasoft a simplement configuré un datasource de type Prometheus. En effet Victoria Metrics propose une compatibilité complète avec PromQL, le langage de requête de Prometheus (qui est largement adopté). Le connecteur de datasource Prometheus est donc pleinement fonctionnel pour interroger la base VM depuis Grafana. Il suffit de lui indiquer l’URL de l’instance, qui est sur un réseau Docker commun avec Grafana.

Pour Picasoft, il convient de créer un dashboard pour chaque service, et d’y afficher l’ensemble des métriques du service. Nous n’allons pas entrer dans le détail sur la configuration de dashboards Grafana ici, car la documentation est relativement complète.

Quelques ressources :

  • technique/adminsys/monitoring/metrologie/grafana.txt
  • de ppom