Docker Desktop - Outils de monitoring avec Telegraf, InfluxDB et Grafana

Premier article sur mon stack docker spécial monitoring

Posted by A0d3n on September 9, 2020
Le monitoring ou surpervision est une activité de surveillance et de mesure d’une activité informatique. Ces mesures permettent de construire des graphes afin de visualiser les performances et de voir les tendances, de détecter voire d’anticiper des anomalies ou des pannes et d’alerter en cas de dysfonctionnement.

Le monitoring peut vous permettre de déclencher des alertes sur certains seuils de métriques afin de réagir avant qu’un problème devienne critique.

Les indicateurs peuvent être :

  • un pic de charge important indiquant un problème de performance ou un pic de visiteurs
  • un pic de trafic anormal causé par une attaque
  • à l’inverse une perte soudaine de traffic pouvant indiquer une panne ou une indisponibilité.

Dans ce tutoriel, nous allons mettre en place la stack TIG (Telegraf – InfluxDB – Grafana) où Telegraf sera utilisé comme collecteur, InfluxDB comme solution de stockage et Grafana comme outil de mise en forme et de visualisation des données.

Telegraf est un collecteur de données créé par les créateurs d’InfluxDB : InfluxData. Il permet de collecter des données systèmes (CPU, mémoire, I/O, disque, etc.) ou les données liées à vos containers Docker et dispose de très nombreux plugins d’entrées (pour collecter) et de sortie (pour stocker).

Comme plugin de sortie, nous utiliserons InfluxDB, une base de données écrite en Go spécialisée dans le stockage de métriques et d’événements. Egalement développé par InfluxData, l’intégration d’InfluxDB avec Telegraf est très aisée.

Grafana est une des références pour la visualisation et la mise en forme de données métriques. Il permet de réaliser des tableaux de bord et des graphiques à partir d’une multitude de sources de données (InfluxDB, Graphite, Prometheus, Elasticsearch, etc.) et permet également de vous alerter en fonction de seuils définis via différents canaux (Slack, email, PagerDuty, etc.).

Grafana sera accessible depuis l’extérieur via Nginx utilisé comme reverse proxy et sera sécurisé grâce à un certificat SSL/TLS délivré par Let’s Encrypt.

Prérequis

  • Vous devez disposer de Windows 10 en version Desktop, Server ou Pro ou ARM (Raspberry Pi). Dans mon cas, j'utilise Docker Desktop sous Windows 10 Pro.
  • Votre utilisateur doit être administrateur.
  • Pour un système sous Windows,

Installation de Docker & Docker Compose

Déploiement de Portainer

Installation du stack TIG

Configuration du stack

Utilisation et Accès

Table des matières