Surveillance et Logs

Mettre en place une solution de monitoring pour surveiller l’état de TaskManagerPro et collecter des mĂ©triques systĂšme et applicatives.

Module 6 : Surveillance et Logs


6.1. Monitoring avec Prometheus et Grafana

Objectif :
  • Mettre en place une solution de monitoring pour surveiller l’état de TaskManagerPro.
  • Collecter des mĂ©triques systĂšme et applicatives.
Introduction :

Le monitoring est essentiel en DevOps pour anticiper les pannes et optimiser les performances. Prometheus est un outil de collecte de métriques, et Grafana permet de les visualiser sous forme de tableaux de bord interactifs.

Installation de Prometheus :
  1. Télécharger et installer Prometheus :
    wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-linux-amd64.tar.gz tar xvf prometheus-linux-amd64.tar.gz cd prometheus-*
  2. Configurer Prometheus :
    • Modifier le fichier prometheus.yml pour ajouter les endpoints Ă  surveiller.
    scrape_configs: - job_name: 'taskmanagerpro' static_configs: - targets: ['localhost:9090']
  3. Démarrer Prometheus :
    ./prometheus --config.file=prometheus.yml
Installation de Grafana :
  1. Installer Grafana sur Linux :
    sudo apt update sudo apt install -y grafana sudo systemctl enable --now grafana-server
  2. Accéder à Grafana :
    • Rendez-vous sur http://<adresse_ip>:3000
    • Identifiants par dĂ©faut : admin / admin
  3. Ajouter Prometheus comme source de données :
    • AccĂ©der Ă  Configuration > Data Sources
    • Ajouter Prometheus avec l’URL http://localhost:9090
    • Enregistrer et tester
Créer un tableau de bord Grafana :
  • Importer un dashboard prĂ©dĂ©fini depuis Grafana.com
  • Ajouter un panneau personnalisĂ© affichant les requĂȘtes HTTP, l’utilisation CPU et mĂ©moire
Exercice pratique :

Configurer un tableau de bord affichant les performances de TaskManagerPro, incluant :

  • Temps de rĂ©ponse des requĂȘtes API
  • Nombre d’utilisateurs actifs
  • Utilisation CPU et mĂ©moire

6.2. Gestion des Logs avec ELK Stack

Objectif :
  • Collecter et centraliser les logs applicatifs et systĂšme.
  • Faciliter l’analyse des erreurs grĂące Ă  Elasticsearch, Logstash et Kibana.
Introduction :

Le stack ELK est une solution open-source permettant de gĂ©rer et d’analyser des logs en temps rĂ©el.

  • Elasticsearch : stocke et indexe les logs.
  • Logstash : collecte, transforme et envoie les logs.
  • Kibana : visualise les logs dans des tableaux de bord interactifs.
Installation de l’ELK Stack :
  1. Installer Elasticsearch :
    sudo apt install -y elasticsearch sudo systemctl enable --now elasticsearch
  2. Installer Logstash :
    sudo apt install -y logstash
  3. Configurer Logstash pour récupérer les logs de TaskManagerPro :
    • Modifier /etc/logstash/conf.d/taskmanagerpro.conf :
    input {
      file {
        path => "/var/log/taskmanagerpro.log"
        start_position => "beginning"
      }
    }
    filter {
      grok {
        match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{GREEDYDATA:message}" }
      }
    }
    output {
      elasticsearch {
        hosts => ["http://localhost:9200"]
        index => "taskmanagerpro-logs"
      }
    }
    
  4. Démarrer Logstash :
    sudo systemctl start logstash
Installation de Kibana :
  1. Installer Kibana :
    sudo apt install -y kibana sudo systemctl enable --now kibana
  2. Accéder à Kibana :
    • Aller sur http://<adresse_ip>:5601
    • Ajouter l’index taskmanagerpro-logs
    • CrĂ©er un tableau de bord pour analyser les erreurs et logs applicatifs
Exercice pratique :

Configurer ELK pour :

  • Collecter les logs applicatifs de TaskManagerPro
  • CrĂ©er des alertes en cas d’erreur critique

📘 Quiz : Teste tes connaissances !

đŸ–„ïž Terminal Trainer : Pratique tes commandes !