Recherche de site Web

Débloquez une surveillance puissante du système : votre guide sur Prometheus et Grafana


La surveillance est un composant essentiel de toute configuration d’infrastructure. Prometheus et Grafana sont de puissants outils open source qui fonctionnent ensemble pour fournir des capacités de surveillance et de visualisation robustes. Ce tutoriel vous guide tout au long de la configuration de Prometheus sur un serveur et de Grafana sur un autre, en créant un système de surveillance distribué.

Dans ce tutoriel, vous allez apprendre :

  • Comment installer et configurer Prometheus sur un serveur Linux dédié
  • Comment installer et configurer Grafana sur un serveur Linux séparé
  • Comment connecter Grafana à Prometheus pour la visualisation de données
  • Comment importer et créer des tableaux de bord pour la surveillance de vos systèmes

Configuration logicielle requise et conventions de ligne de commande Linux

La surveillance visuelle simplifiée : configuration de Prometheus et Grafana sur des serveurs Linux distincts

Ce
tutoriel met en place un système de surveillance distribué avec Prometheus sur un serveur collectant des métriques et Grafana sur un autre serveur visualisant ces métriques. Assurez-vous que les deux serveurs peuvent communiquer entre eux sur le réseau, avec les ports requis (9090 pour Prometheus et 3000 pour Grafana) correctement configurés dans les paramètres de votre pare-feu.

Prometheus sert de puissante base de données de séries chronologiques et de système de surveillance qui extrait des métriques à partir de cibles configurées, tandis que Grafana fournit une couche de visualisation belle et flexible. En les configurant sur des serveurs distincts, vous pouvez répartir la charge du système et créer une architecture plus évolutive.

Instructions étape par étape

  1. Installer Prometheus sur le serveur 1 : utilisez le référentiel de packages pour installer Prometheus

    sudo apt update
    sudo apt install prometheus
  2. Ces commandes mettent à jour les listes de paquets et installent Prometheus à partir des dépôts officiels. Le gestionnaire de paquets gérera toutes les dépendances (y compris l’exportateur de nœuds), la création d’utilisateurs et la configuration initiale pour que Prometheus soit rapidement opérationnel. Cette approche est beaucoup plus simple que l’installation manuelle et garantit que les futures mises à jour seront gérées via le système de paquets.

  3. Vérifier l’installation de Prometheus : Assurez-vous que le service fonctionne correctement

    sudo systemctl status prometheus
    sudo systemctl status prometheus-node-exporter

    Ces commandes vérifient si Prometheus et Node Exporter (qui a été automatiquement installé en tant que dépendance) fonctionnent correctement. Vous devez voir un message indiquant que les deux services sont actifs et en cours d’exécution. Si l’un ou l’autre des services n’est pas en cours d’exécution, vous pouvez le démarrer avec sudo systemctl start [service-name].

  4. Configurer Prometheus : Ajuster la configuration par défaut

    sudo nano /etc/prometheus/prometheus.yml

    Le fichier de configuration par défaut est déjà configuré pour surveiller Prometheus lui-même et doit déjà inclure Node Exporter comme cible puisqu’ils ont été installés ensemble. Vérifiez que votre configuration inclut les deux cibles :

    global:
      scrape_interval: 15s
    
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
          
      - job_name: 'node'
        static_configs:
          - targets: ['localhost:9100']

    Si la configuration de l’exportateur de nœuds n’est pas déjà incluse, ajoutez-la comme indiqué ci-dessus.

    Redémarrez ensuite Prometheus pour appliquer les modifications suivantes :

    sudo systemctl restart prometheus
  5. Configurer le pare-feu pour Prometheus : autoriser les connexions externes à Prometheus

    sudo ufw allow 9090/tcp
  6. Cette commande ouvre le port 9090 dans le pare-feu, permettant à Grafana sur l’autre serveur de se connecter à Prometheus. Si vous utilisez une autre solution de pare-feu, ajustez la commande en conséquence.

  7. Installer Grafana sur le serveur 2 : Ajouter le dépôt de Grafana et installer le paquet

    sudo apt install -y apt-transport-https software-properties-common wget
    wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
    echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
    sudo apt update
    sudo apt install -y grafana
  8. Comme Grafana n’est pas disponible dans les dépôts standard, nous devons d’abord ajouter leur dépôt officiel. Ces commandes installent les dépendances nécessaires, ajoutent le référentiel Grafana, puis installent Grafana à partir de ce référentiel.

  9. Démarrer et activer Grafana : Activer le service Grafana

    sudo systemctl enable --now grafana-server

    Cette commande permet à la fois à Grafana de démarrer automatiquement au démarrage et de démarrer le service immédiatement. Vérifiez que Grafana fonctionne avec sudo systemctl status grafana-server.

  10. Configurer le pare-feu pour Grafana : Autoriser les connexions externes à Grafana

    sudo ufw allow 3000/tcp
  11. Cette commande ouvre le port 3000 dans le pare-feu, permettant aux utilisateurs d’accéder à l’interface web de Grafana. Le port par défaut de Grafana est 3000, mais cela peut être modifié dans le fichier de configuration si nécessaire.

  12. Connectez Grafana à Prometheus : Connectez-vous à Grafana et ajoutez Prometheus en tant que source de données
    Accédez à Grafana dans votre navigateur Web à l’adresse http://[grafana-server-ip] :3000. Connectez-vous avec les informations d’identification par défaut (nom d’utilisateur : admin, mot de passe : admin) et procédez comme suit :

      1. Cliquez sur « Connexions » dans le menu latéral de gauche
      2. Cliquez sur « Connexions » dans le menu latéral de gauche.

      3. Cliquez sur « Ajouter une nouvelle connexion » ou « Sources de données »
      4. Sélectionnez « Prometheus »
      5. Définissez l’URL sur http://[prometheus-server-ip] :9090 (remplacez-la par l’adresse IP réelle de votre serveur Prometheus)
      6. Cliquez sur « Enregistrer et tester » pour vérifier la connexion

  13. Importez des tableaux de bord existants : tirez parti des tableaux de bord créés par la communauté
    Grafana dispose d’une riche bibliothèque de tableaux de bord prédéfinis que vous pouvez facilement importer :

    1. Cliquez sur « Tableaux de bord » dans la barre latérale gauche
    2. Cliquez sur le bouton « Nouveau » dans le coin supérieur droit
    3. Sélectionnez « Importer » dans le menu déroulant
    4. Entrez l’ID de tableau de bord 1860 (un tableau de bord d’exportation de nœuds populaire nommé « Exportateur de nœuds complet »)
    5. Sélectionnez votre source de données Prometheus dans le menu déroulant
    6. Cliquez sur « Importer »

    Cela importera un tableau de bord complet de surveillance du système spécialement conçu pour les métriques de l’exportateur de nœuds. Vous verrez immédiatement des mesures telles que l’utilisation du processeur, l’utilisation de la mémoire, les E/S du disque et le trafic réseau sans avoir à configurer des panneaux individuels, comme dans la capture d’écran présentée dans le tutoriel.

  14. Créez votre propre tableau de bord (facultatif) : créez un tableau de bord personnalisé adapté à vos besoins
    Pour créer un tableau de bord personnalisé qui se concentre sur des indicateurs spécifiques qui vous intéressent :

    1. Cliquez sur « Tableaux de bord » dans la barre latérale gauche
    2. Cliquez sur le bouton « Nouveau » dans le coin supérieur droit
    3. Sélectionnez « Nouveau tableau de bord » dans le menu déroulant
    4. Cliquez sur « Ajouter une visualisation »
    5. Dans la section de la source de données, sélectionnez « prometheus » dans la liste déroulante
    6. Sous « Métrique », sélectionnez une métrique telle que node_memory_MemFree_bytes dans la liste déroulante
    7. Cliquez sur « Exécuter des requêtes » pour prévisualiser les données
    8. Ajustez les paramètres de visualisation selon vos besoins dans le panneau de droite
    9. Ajoutez un titre pour votre panneau dans la section « Options du panneau » à droite
    10. Cliquez sur « Appliquer » pour ajouter le panneau à votre tableau de bord
    11. Répétez le processus pour ajouter des panneaux supplémentaires pour d’autres métriques
    12. Cliquez sur « Enregistrer le tableau de bord » dans le coin supérieur droit pour enregistrer votre tableau de bord avec un nom approprié

    La création de vos propres tableaux de bord vous permet de vous concentrer sur les indicateurs spécifiques qui comptent le plus pour votre infrastructure et de les organiser de la manière la plus adaptée à vos besoins de surveillance.

Lors de l’installation de
Prometheus via apt sur les systèmes Debian/Ubuntu, Node Exporter est automatiquement installé en tant que dépendance. Cela vous permet de surveiller les métriques système dès le départ sans étapes supplémentaires. Vous pouvez le vérifier en vérifiant sudo systemctl status prometheus-node-exporter. Le gestionnaire de paquets gère toute la configuration nécessaire à l’intégration de ces composants en douceur.

Conclusion

Vous avez réussi à mettre en place un système de surveillance distribué avec Prometheus collectant des métriques sur un serveur et Grafana les visualisant sur un autre. Cette configuration constitue la base d’une surveillance complète de votre infrastructure. L’approche d’installation basée sur les packages simplifie le processus tout en vous donnant la possibilité de configurer le système en fonction de vos besoins. Avec Node Exporter automatiquement installé en même temps que Prometheus, vous avez immédiatement accès aux métriques système détaillées sans configuration supplémentaire. Vous pouvez étendre ce système en ajoutant d’autres exportateurs pour surveiller divers services, en créant des alertes pour les conditions critiques et en concevant des tableaux de bord personnalisés pour différents aspects de votre environnement.

Foire aux questions (FAQ)

  1. Comment puis-je surveiller des serveurs supplémentaires avec cette configuration ?

    Pour surveiller des serveurs supplémentaires, installez Node Exporter sur chaque serveur que vous souhaitez surveiller à l’aide de sudo apt install prometheus-node-exporter. Mettez ensuite à jour votre configuration Prometheus en ajoutant chaque serveur en tant que cible dans le node_exporter tâche. Par exemple:

      - job_name: 'node_exporter'
        static_configs:
          - targets: ['localhost:9100', 'server2:9100', 'server3:9100']
    
  2. N’oubliez pas de remplacer « serveur2 » et « serveur3 » par les noms d’hôte ou les adresses IP réels, et assurez-vous que le pare-feu de chaque serveur autorise les connexions au port 9100.

  3. Comment puis-je configurer des alertes dans Prometheus et Grafana ?

    Pour les alertes Prometheus, vous devez installer Alertmanager avec sudo apt install prometheus-alertmanager, définir les règles d’alerte dans /etc/prometheus/rules.yml et le référencer dans votre configuration Prometheus. Pour les alertes Grafana, accédez au panneau de tableau de bord pour lequel vous souhaitez créer une alerte, cliquez sur le titre du panneau, sélectionnez « Modifier », puis cliquez sur l’onglet « Alerte ». À partir de là, vous pouvez définir des conditions pour l’alerte et spécifier des canaux de notification tels que l’e-mail, Slack ou PagerDuty.

  4. Comment puis-je mettre à jour Prometheus et Grafana lorsque de nouvelles versions sont publiées ?

    Puisque vous avez installé Prometheus à partir des dépôts standard, exécutez simplement sudo apt update suivi de sudo apt upgrade pour mettre à jour Prometheus et les autres packages système. Pour Grafana, qui a été installé à partir de son propre dépôt, les mêmes commandes fonctionneront tant que le dépôt Grafana restera dans votre liste de sources. Les deux services redémarreront automatiquement après les mises à jour si nécessaire. Consultez toujours les notes de mise à jour pour les mises à jour de version majeures, car elles peuvent nécessiter des modifications de configuration.

  5. Quels sont les ID de tableau de bord utiles que je peux importer dans Grafana ?

    Voici quelques tableaux de bord populaires pour la surveillance des systèmes avec Prometheus et Node Exporter :

    • ID 1860 : Node Exporter Full – Métriques système complètes
    • ID 11074 : Exportateur de nœuds pour Prometheus – Tableau de bord moderne au design épuré
    • ID 3662 : Vue d’ensemble de Prometheus 2.0 – Pour la surveillance de Prometheus lui-même
    • ID 9578 : Métriques du serveur d’exportation de nœuds – Axé sur les indicateurs clés de santé du serveur
    • ID 9096 : Prometheus Stats – Surveillance détaillée de Prometheus

    Pour importer l’un de ces tableaux de bord, allez sur l’icône « + » dans Grafana, sélectionnez « Importer », entrez l’ID du tableau de bord, sélectionnez votre source de données Prometheus et cliquez sur « Importer ».

  6. Comment puis-je sécuriser mes instances Prometheus et Grafana ?

    Pour sécuriser Prometheus, envisagez de configurer un proxy inverse avec une authentification de base (à l’aide de Nginx ou Apache), d’implémenter un cryptage TLS et de configurer des règles de pare-feu strictes pour limiter l’accès. Pour Grafana, modifiez immédiatement le mot de passe administrateur par défaut, configurez l’authentification utilisateur appropriée (LDAP, OAuth, etc.), activez HTTPS en configurant les paramètres dans /etc/grafana/grafana.ini et envisagez d’utiliser les rôles d’utilisateur intégrés de Grafana pour restreindre l’accès aux tableaux de bord et aux sources de données. De plus, mettez régulièrement à jour Prometheus et Grafana via votre gestionnaire de paquets pour corriger les vulnérabilités de sécurité.

  7. Comment puis-je surveiller des applications spécifiques au-delà des métriques système ?

    Pour surveiller des applications spécifiques, vous devrez installer des exportateurs Prometheus supplémentaires. De nombreuses applications courantes ont des exportateurs dédiés disponibles dans les dépôts. Par exemple:

    • MySQL/MariaDB : sudo apt install prometheus-mysqld-exporter
    • PostgreSQL : sudo apt install prometheus-postgres-exporter
    • Nginx : sudo apt install prometheus-nginx-exporter
    • Apache : sudo apt install libapache2-mod-prometheus

    Après avoir installé l’exportateur approprié, ajoutez-le en tant que cible dans votre configuration Prometheus et redémarrez Prometheus. Ensuite, importez ou créez des tableaux de bord dans Grafana qui utilisent les métriques de ces exportateurs.

Articles connexes: