CodeGym /Cours /Docker SELF /Configurer la surveillance des conteneurs avec Prometheus...

Configurer la surveillance des conteneurs avec Prometheus

Docker SELF
Niveau 21 , Leçon 3
Disponible

4.1 Installation de Prometheus

Prometheus — c'est un système puissant de monitoring et d'alertes Open Source, conçu pour collecter et stocker des métriques à partir de différentes sources, y compris les conteneurs Docker. Dans cette conférence, on va voir en détail comment configurer le monitoring des conteneurs avec Prometheus, en incluant l'installation, la configuration de la collecte des métriques et l'intégration avec Docker.

1. Télécharger et installer Prometheus

D'abord, télécharge la dernière version de Prometheus depuis le site officiel :

Terminal

wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz

Décompresse l'archive :

Terminal

tar xvfz prometheus-*.tar.gz
cd prometheus-*      

Déplace les fichiers binaires vers /usr/local/bin :

Terminal

sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/

4.2 Configuration du fichier de configuration Prometheus

Prometheus utilise un fichier de configuration prometheus.yml pour définir les sources des métriques et les paramètres de collecte des données. Crée ou modifie le fichier prometheus.yml :

Yaml

global:
  scrape_interval: 15s  # Intervalle de collecte des métriques
      
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
      
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['localhost:8080']

Ce fichier de configuration inclut deux jobs :

  1. prometheus : pour collecter les métriques de Prometheus lui-même.
  2. cadvisor : pour collecter les métriques de cAdvisor, qui sera utilisé pour monitorer les conteneurs Docker.

5.3 Lancement de Prometheus

Lance Prometheus en utilisant le fichier de configuration que tu as créé :

Terminal

prometheus --config.file=prometheus.yml

Prometheus sera accessible à l'adresse suivante : http://localhost:9090.

5.4 Installation et configuration de cAdvisor

cAdvisor (Container Advisor) — est un outil pour surveiller les conteneurs, qui collecte et fournit des métriques pour les conteneurs Docker. Pour l'utiliser, suis les étapes suivantes :

Lance cAdvisor dans un conteneur Docker :

Terminal

docker run -d \
  --name=cadvisor \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --privileged \
  gcr.io/cadvisor/cadvisor:latest

cAdvisor sera accessible à http://localhost:8080.

5.5 Mise à jour de la configuration de Prometheus pour cAdvisor

Assure-toi que la configuration de Prometheus inclut une tâche pour cAdvisor. Un exemple de configuration a été présenté plus haut.

Redémarre Prometheus pour appliquer les changements :

Terminal

prometheus --config.file=prometheus.yml

5.6 Vérification de la collecte des métriques

Va dans l'interface web de Prometheus à l'adresse http://localhost:9090 et assure-toi que Prometheus collecte bien les métriques de cAdvisor. Pour ça, exécute une requête dans Prometheus :

Terminal

container_cpu_usage_seconds_total

Tu devrais voir les données collectées à partir des conteneurs Docker.

5.7 Ajout de métriques supplémentaires

Tu peux ajouter des métriques supplémentaires dans le fichier de configuration de Prometheus pour collecter plus de données sur tes conteneurs. Exemple de métriques supplémentaires :

Yaml

  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

Pour cela, il faudra installer node_exporter, qui fournit des métriques sur l'état du système hôte.

Télécharge et installe node_exporter :

Terminal

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo mv node_exporter-1.2.2.linux-amd64/node_exporter /usr/local/bin/

Lance node_exporter :

Terminal

node_exporter &

Maintenant, node_exporter sera accessible à http://localhost:9100.

5.8 Création de règles d'alerte

Prometheus permet de créer des règles d'alerte pour notifier les admins en cas de problèmes. Ajoute des règles d'alerte dans le fichier de configuration prometheus.yml :

Yaml

rule_files:
  - "alert.rules"
      
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - "localhost:9093"

Crée un fichier alert.rules avec un exemple de règles :

Yaml

groups:
- name: exemple
  rules:
  - alert: HighCPUUsage
    expr: container_cpu_usage_seconds_total{job="cadvisor"} > 0.85
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "Utilisation élevée du CPU détectée"
      description: "Le conteneur utilise plus de 85% du CPU pendant plus d'une minute."
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION