Grafana : la data visualisation du monitoring IT open source (gratuit)

Grafana : la data visualisation du monitoring IT open source (gratuit) [GRAFANA] Grafana est un outil open source de monitoring informatique orienté data visualisation. Il est conçu pour générer des dashboards sur la base de métriques et données temporelles.

Grafana, qu'est-ce que c'est ?

Portée par l'américain Grafana Labs, Grafana est une plateforme open source taillée pour la surveillance, l'analyse et la visualisation des métriques IT. Elle est livrée avec un serveur web (écrit en Go) permettant d'y accéder via une API HTTP. Sous licence Apache 2.02, Grafana génère ses graphiques et tableaux de bord à partir de bases de données de séries temporelles (time series database) telles que Graphite, InfluxDB ou OpenTSDB. Cette plateforme est aussi un outil indispensable pour créer des alertes.

Véritable éditeur de dashboards informatiques, Grafana permet également de les partager sous forme de snapshot (ou instantanés) avec d'autres utilisateurs. L'outil intègre par ailleurs un système de gestion des droits d'accès et protège les tableaux de bord des modifications accidentelles. Enfin, il bénéficie d'une application particulière pour Kubernetes. Baptisée Grafana App for Kubernetes, elle suit la performance des architectures applicatives basées sur l'orchestrateur open source via trois dashboards : cluster, node, pod/container et deployment.

Grafana s'articule autour d'un éditeur de tableaux de bord. © JDN / Capture

Comment installer Grafana ?

Il suffit de se rendre sur http://ip-de-votre-serveur:3000 pour vérifier que votre système peut accéder à Grafana. Utilisez le nom d'utilisateur et le mot de passe "admin" par défaut. Grafana peut être installé sur des plateformes comme Linux, Windows, Mac, ou en environnement Docker. Mieux vaut choisir cette dernière option, plus simple pour la configuration des dashboards. 

Grafana requiert évidemment l'installation d'une base de données pour stocker les informations de configuration : utilisateurs, sources de données et tableaux de bord. La plateforme supporte les bases MySQL, PostgreSQL et SQLite. Lors de l'installation, Grafana déploie par défaut SQLite, un serveur de données qui a la particularité de s'intégrer au cœur des applications.

Quels sont les plugins Grafana les plus populaires ?

Parmi les plugins Grafana les plus populaires figure notamment un connecteur pour Datadog. Baptisé Grafana Datadog Datasource, il permet d'interroger directement l'API de cette solution de monitoring axée cloud pour y puiser des indicateurs de performance. Des extensions Grafana existent pour beaucoup d'autres outils de monitoring. C'est le cas d'AppDynamics ou encore de Wavefront (VMware). On relève aussi des add-ons pour les services de monitoring d'AWS (CloudWatch) et de Microsoft Azure (Azure Monitor).

Au chapitre des plugins indispensables, une extension Grafana pour GitHub permet, dans la même logique, d'interroger l'API du service de gestion de code éponyme pour enrichir les tableaux de bord de la plateforme. On relève évidemment des plugins Grafana pour interagir avec les bases de données orientées séries chronologiques que sont Graphite InfluxDB ou OpenTSDB. Mais également des extensions pour Google BigQuery, Elasticsearch, MongoDbMySQL, Oracle Database, RedisSnowflake ou encore les sources de données JSon.

Existe-t-il un plugin Grafana pour Zabbix ?

Grafana bénéficie aussi d'un plugin pour l'outil de monitoring Zabbix. Une application open source conçue pour suivre l'état d'un réseau, de serveurs, de machines virtuelles ou encore de services cloud. 

Le plugin Grafana pour Zabbix permet de sélectionner de multiples métriques via des expressions régulières, ou encore de créer des tableaux de bord interactifs et réutilisables via des variables de template. Il gère également les annotations graphiques et les alertes. 

Les dashboards Grafana

On peut créer autant de dashboards que l’on souhaite sur Grafana. Celui-ci expose dans ces tableaux de bord les métriques brutes ou agrégées provenant des bases de données de séries temporelles, en définissant simplement des seuils d’alerte et actions associées.

Exemple de dashboard créé avec Grafana. © JDN / Capture

Télécharger Grafana

Mieux vaut utiliser le dépôt officiel de Grafana, en récupérant les prérequis via apt-get : apt-get install apt-transport-https curl. Ensuite, il faut télécharger la signature du dépôt curl https://packagecloud.io/gpg.key | apt-key add - et l’ajouter dans /etc/apt/sources.list. en tapant deb https://packagecloud.io/grafana/stable/debian/ jessie main. Faites enfin la mise à jour du dépôt et installez Grafana.

Qu'est-ce que Grafana Loki ?

Lancé en 2018 Grafana Loki est un système open source d'agrégation de logs, multi-tenant et dimensionnable horizontalement. Sous licence Apache 2.0, il est directement inspiré de Prometheus. Il supporte aussi nativement Grafana. Sa particularité ? Il stocke les logs de manière compressée et n'indexe que leurs métadonnées. Ce qui en fait une solution simple à utiliser et peu coûteuse à opérer. 

Egalement développé par Grafana Labs, Grafana Loki est présenté comme une solution adaptée à la gestion de pods Kubernetes. "Elle permet de scraper et indexer automatiquement les métadonnées de leurs labels", pointe la société new yorkaise.

Tutoriel : quelques liens

Pour installer Grafana, nous conseillons de suivre le tutoriel : Installation de Grafana. Pour bâtir des tableaux de bord dans Grafana, voir également le tutoriel : Création d'un dashboard Grafana. 

Grafana vs Prometheus

Les deux outils de monitoring fonctionnent ensemble en se complétant. Grafana est une interface web multisource capable d'afficher des données issues de Prometheus. Grafana va interroger Prometheus pour récupérer des métriques et les exposer sous forme de tableaux de bord graphiques. Un plugin Grafana a été développé dans l'optique d'intégrer des indicateurs puisés dans Prometheus à des tableaux de bord Grafana.

Grafana vs Kibana

Grafana et Kibana sont tous deux des outils de data visualisation puissants. Mais ils répondent chacun à des cas d'usage différents. Comme on l'a évoqué plus haut, Grafana, en lien avec des bases de données orientées time series comme Graphite ou InfluxDB, est adapté à l'analyse de métriques. Quant à Kibana, il est plutôt taillé pour explorer des données de logs. Il est alors souvent utilisé au sein de la pile applicative ELK, pour Elasticsearch, Logstash et Kibana.  Dans cette configuration, Logstash se charge de collecter les logs et métriques et de les transmettre à Elasticsearch qui les stocke et les indexe. En aval, Kibana orchestre la data visualisation et génère les tableaux de bord d'indicateurs.