Installation · 11 min read · Oct 09, 2025

Comment installer Grafana et Prometheus sur Ubuntu 24.04

Grafana est une plateforme de visualisation de données open-source et multi-plateforme développée par Grafana Labs. Grafana fournit une application web interactive de visualisation de données qui inclut des graphiques, des tableaux et des alertes. Avec Grafana, vous pouvez interroger, visualiser, configurer des alertes et explorer des métriques, des journaux et des traces de TSDB. C’est un outil puissant qui transforme les données de base de données de séries temporelles (TSDB) en un graphique et une visualisation éclairants.

Dans Grafana, vous pouvez ajouter vos données de base de données de séries temporelles via la ‘Source de données’. Grafana prend en charge plusieurs sources de données telles que Prometheus, InfluxDB, PostgreSQL, Loki, Jaeger, Graphite, Google Cloud Monitoring, AWS CloudWatch, Azure Monitor, et bien d’autres.

Dans ce tutoriel, vous apprendrez à installer Grafana, Prometheus et node_exporter sur des serveurs Ubuntu 24.04. Vous installerez également Nginx en tant que proxy inverse pour Grafana, intégrerez node_exporter et Prometheus, puis ajouterez Prometheus en tant que source de données au tableau de bord Grafana.

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Deux ou trois serveurs Ubuntu 24.04.
  • Un utilisateur non-root avec des privilèges d’administrateur.

Installation de Grafana sur Ubuntu

Grafana est une application web pour la visualisation de données. Pour installer Grafana, vous devez ajouter le dépôt Grafana. Dans cet exemple, vous installerez également Nginx en tant que proxy inverse pour Grafana.

Installation des dépendances et ajout d’un dépôt

Dans cette section, vous installerez des dépendances, y compris Nginx, puis ajouterez le dépôt Grafana.

Tout d’abord, exécutez la commande ci-dessous pour installer les dépendances pour Grafana. Tapez Y pour confirmer l’installation.

sudo apt install gnupg2 apt-transport-https software-properties-common wget nginx

install deps

Ajoutez maintenant la clé GPG de Grafana et le dépôt avec la commande suivante.

wget -q -O - https://packages.grafana.com/gpg.key > grafana.key cat grafana.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/grafana.gpg > /dev/null
echo ‘deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://packages.grafana.com/oss/deb stable main’ | sudo tee /etc/apt/sources.list.d/grafana.list

Ensuite, mettez à jour et rafraîchissez votre index de paquets avec la commande ci-dessous :

sudo apt update

add repo and update

Installation et configuration de Grafana

Après avoir ajouté le dépôt Grafana, vous installerez le paquet Grafana avec le gestionnaire de paquets APT. Et ensuite, configurez Grafana pour qu’il fonctionne sur localhost avec un domaine tel que howtoforge.local.

Pour installer Grafana, exécutez la commande apt suivante. Tapez Y pour continuer l’installation.

sudo apt install grafana

install grafana

Une fois l’installation terminée, rechargez le gestionnaire systemd avec la commande ci-dessous :

sudo systemctl daemon-reload

Vous pouvez maintenant démarrer et activer le grafana-server avec la commande systemctl suivante. Ensuite, vérifiez pour vous assurer que le service fonctionne.

sudo systemctl enable --now grafana-server  
sudo systemctl status grafana-server

Dans la sortie suivante, vous pouvez voir que le grafana-server fonctionne et est activé.

start enable verify grafana

Avec le grafana-server en cours d’exécution, vous le configurerez pour qu’il fonctionne sur localhost.

Ouvrez le fichier de configuration de Grafana /etc/grafana/grafana.ini avec l’éditeur nano.

sudo nano /etc/grafana/grafana.ini

Changez la configuration par défaut avec ce qui suit. Assurez-vous de changer l’option domain avec votre nom de domaine local pour Grafana. Pour cet exemple, vous exécuterez Grafana dans le domaine howtoforge.local.

[server]

# L'adresse IP à laquelle se lier, vide se liera à toutes les interfaces
http_addr = localhost

# Le port http à utiliser
http_port = 3000

# Le nom de domaine public utilisé pour accéder à grafana depuis un navigateur
domain = howtoforge.local

Lorsque vous avez terminé, enregistrez le fichier et quittez l’éditeur.

Exécutez maintenant la commande ci-dessous pour redémarrer grafana-server et appliquer vos modifications. Avec cela, Grafana devrait fonctionner sur localhost avec le port HTTP par défaut 3000.

sudo systemctl restart grafana-server

Configuration de Nginx en tant que proxy inverse

Dans cette section, vous créerez un nouveau bloc de serveur Nginx en tant que proxy inverse pour le grafana-server qui fonctionne sur localhost avec le port 3000.

Créez une nouvelle configuration de bloc de serveur Nginx /etc/nginx/sites-available/grafana.conf avec l’éditeur nano.

sudo nano /etc/nginx/sites-available/grafana.conf

Ajoutez la configuration suivante pour configurer Nginx en tant que proxy inverse pour Grafana. Assurez-vous de changer l’option server_name avec votre nom de domaine Grafana.

# ceci est requis pour proxy les connexions WebSocket de Grafana Live.
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
    listen      80;
    server_name howtoforge.local;

  root /usr/share/nginx/html;
  index index.html index.htm;


  access_log /var/log/nginx/grafana-access.log;
  error_log /var/log/nginx/grafana-error.log;

  location / {
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }

  # Proxy les connexions WebSocket de Grafana Live.
  location /api/live {
    rewrite  ^/(.*)  /$1 break;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }
}

Enregistrez le fichier et quittez l’éditeur.

Exécutez maintenant la commande suivante pour activer le bloc de serveur grafana.conf et vérifier votre syntaxe Nginx. Si vous avez une syntaxe correcte, vous verrez une sortie test is Successful - syntax is OK.

sudo ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/  
sudo nginx -t

setup nginx

Ensuite, exécutez la commande systemctl ci-dessous pour redémarrer et vérifier l’état du serveur web Nginx.

sudo systemctl restart nginx  
sudo systemctl status nginx

Vous verrez que le serveur web Nginx fonctionne :

check nginx

Ensuite, visitez votre nom de domaine Grafana tel que http://howtoforge.local/. Si votre installation est réussie, vous serez invité à la page de connexion de Grafana.

Connectez-vous avec l’utilisateur par défaut admin et le mot de passe admin.

login grafana

Une fois connecté, entrez un nouveau mot de passe pour votre installation Grafana et cliquez sur Soumettre pour confirmer.

change password

Vous verrez le tableau de bord Grafana comme suit :

dashboard

Installation et configuration de Prometheus

Prometheus est une plateforme de surveillance et d’alerte. Avec Grafana en cours d’exécution, vous installerez Prometheus sur le serveur 192.168.5.16.

Installation de Prometheus

Dans cette section, vous installerez Prometheus manuellement en téléchargeant le binaire de Prometheus sur votre système. Avant cela, vous créerez également un nouvel utilisateur système et prometheus.

Tout d’abord, exécutez la commande ci-dessous pour ajouter un nouvel utilisateur et groupe prometheus.

sudo groupadd --system prometheus  
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Créez un nouveau répertoire de données /var/lib/prometheus et des répertoires de configuration /etc/prometheus.

sudo mkdir -p /var/lib/prometheus  
for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done

Téléchargez la dernière version de Prometheus pour Linux avec la commande suivante.

curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d ‘"’ -f 4|wget -qi -

Une fois téléchargé, extrayez le fichier binaire de Prometheus avec la commande tar et entrez dans celui-ci.

tar xvf prometheus*.tar.gz  
cd prometheus*/

Déplacez le fichier binaire prometheus et promtool vers le répertoire /usr/local/bin. Et ensuite, déplacez les répertoires de configuration et le fichier prometheus.yml vers le répertoire /etc/prometheus.

sudo mv prometheus promtool /usr/local/bin/  
sudo mv consoles console_libraries prometheus.yml /etc/prometheus/

Enfin, exécutez la commande ci-dessous pour changer les permissions et la propriété du répertoire de configuration et de données de Prometheus à l’utilisateur prometheus.

for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done  
for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done  
sudo chown -R prometheus:prometheus /var/lib/prometheus/

Configuration de Prometheus

Après avoir installé Prometheus, vous sécuriserez Prometheus en utilisant basic_auth ou l’authentification de base.

Installez le paquet apache2-utils avec la commande apt suivante.

sudo apt install apache2-utils -y

install apache2-utils

Exécutez maintenant la commande htpasswd ci-dessous pour générer un mot de passe bcrypt pour l’utilisateur admin. Tapez votre mot de passe et répétez-le, puis copiez le mot de passe généré.

htpasswd -nB admin

Ensuite, exécutez la commande nano ci-dessous pour créer un nouveau fichier /etc/prometheus/web.yml.

sudo nano /etc/prometheus/web.yml

Ajoutez la configuration suivante et assurez-vous de changer le mot de passe bcrypt ci-dessous.

# basic_auth
basic_auth_users:
  admin: $2y$05$s8U/BrE5JhSO31XKSbtj8u8cPECULs3emEhlDfCB2GW1UefQ9x00C

Enregistrez et quittez le fichier lorsque vous avez terminé.

Ouvrez maintenant la configuration par défaut de Prometheus /etc/prometheus/prometheus.yml avec nano.

sudo nano /etc/prometheus/prometheus.yml

Changez le job_name par défaut pour prometheus comme suit et assurez-vous de changer l’utilisateur et le mot de passe basic_auth.

scrape_configs:
  # Le nom du travail est ajouté comme une étiquette `job=` à toute série temporelle récupérée à partir de cette configuration.
  - job_name: "prometheus"

    # metrics_path par défaut à '/metrics'
    # scheme par défaut à 'http'.
    # ajoutez des paramètres pour le certificat et l'authentification
    scheme: http
    basic_auth:
      username: "admin"
      password: "password"

    static_configs:
      # si vous utilisez un certificat valide, définissez le même nom d'hôte dans le certificat
      - targets: ["localhost:9090"]

Enregistrez et quittez le fichier.

Enfin, exécutez la commande ci-dessous pour changer la propriété des fichiers prometheus.yml et web.yml à l’utilisateur prometheus.

sudo chown prometheus: /etc/prometheus/{prometheus.yml,web.yml}

Exécution de Prometheus en tant que service systemd

Créez un nouveau fichier de service systemd /etc/systemd/system/prometheus.service avec l’éditeur nano suivant.

sudo nano /etc/systemd/system/prometheus.service

Ajoutez les lignes suivantes au fichier. Avec cela, vous exécuterez Prometheus en arrière-plan en tant que service systemd et sécuriserez la console web via le fichier web.yml.

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/prometheus \
 --config.file=/etc/prometheus/prometheus.yml \
 --storage.tsdb.path=/var/lib/prometheus \
 --web.console.templates=/etc/prometheus/consoles \
 --web.console.libraries=/etc/prometheus/console_libraries \
 --web.listen-address=0.0.0.0:9090 \
 --web.config.file=/etc/prometheus/web.yml \

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et quittez l’éditeur.

Exécutez maintenant la commande ci-dessous pour recharger le gestionnaire systemd et appliquer vos modifications.

sudo systemctl daemon-reload

configure prometheus

Ensuite, démarrez et activez le service prometheus en utilisant la commande systemctl ci-dessous, et assurez-vous que le service fonctionne.

sudo systemctl enable --now prometheus  
sudo systemctl status prometheus

Dans la sortie suivante, vous pouvez voir que le service prometheus fonctionne et est activé.

check prometheus

Installation de node_exporter

Maintenant que Grafana et Prometheus fonctionnent, vous téléchargerez et installerez node_exporter. Le node_exporter vous permet de récupérer des données pour une surveillance de base du système.

Téléchargez le fichier binaire node_exporter avec la commande curl ci-dessous.

curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url|grep linux-amd64|cut -d ‘"’ -f 4|wget -qi -

Une fois téléchargé, extrayez le node_exporter et entrez dans celui-ci.

tar -xvf node_exporter*.tar.gz cd node_exporter*/

Copiez maintenant le fichier binaire node_exporter dans le répertoire /usr/local/bin.

sudo cp node_exporter /usr/local/bin

Après cela, exécutez la commande suivante pour créer un nouveau fichier de service systemd /etc/systemd/system/node_exporter.service pour le node_exporter.

sudo tee /etc/systemd/system/node_exporter.service <

install node exporter

Rechargez le gestionnaire systemd avec ce qui suit :

sudo systemctl daemon-reload

Vous pouvez maintenant démarrer et activer le service node_exporter avec la commande ci-dessous. Ensuite, vérifiez l’état du service node_exporter.

sudo systemctl enable --now node_exporter sudo systemctl status node_exporter

Vous verrez que le service node_exporter fonctionne et commencera à collecter et à peupler des données. Le service node_exporter fonctionne sur le port par défaut 9100.

start check node_exporter

Intégration de node_exporter à Prometheus

Dans cette section, vous intégrerez et ajouterez node_exporter à Prometheus.

Ouvrez la configuration par défaut de Prometheus /etc/prometheus/prometheus.yml.

sudo nano /etc/prometheus/prometheus.yml

Ajoutez un nouveau job_name avec le nom node_exporter et pointez la cible vers la target telle que 192.168.5.16:9100.

  - job_name: "node_exporter"

    static_configs:
      - targets: ["192.168.5.100:9100"]

Enregistrez et quittez le fichier lorsque vous avez terminé.

Exécutez maintenant la commande ci-dessous pour redémarrer le service prometheus et appliquer les modifications.

sudo systemctl restart prometheus

Ensuite, accédez au serveur Prometheus http://192.168.5.16:9090 via votre navigateur web et vous serez invité à une authentification de base.

Entrez votre nom d’utilisateur et votre mot de passe et cliquez sur Se connecter.

Log in prometheus

Après vous être connecté au tableau de bord Prometheus, entrez node_memory_Active_bytes dans la requête et cliquez sur Exécuter. Vous verrez le graphique de la mémoire active actuelle comme suit :

prometheus dashboard

Enfin, cliquez sur Statut > Cibles et assurez-vous que les cibles prometheus et node_exporter sont actives et fonctionnent comme suit :

list targets

Intégration de Prometheus avec Grafana en tant que source de données

Maintenant que Prometheus est prêt, vous ajouterez et intégrerez Prometheus à Grafana en tant que source de données. Ensuite, vous créerez un nouveau système de tableau de bord pour la surveillance.

Dans le tableau de bord Grafana, cliquez sur Connexions > Sources de données > Ajouter une source de données pour ajouter une nouvelle source de données dans Grafana.

add data source

Sélectionnez Prometheus comme source de données.

prometheus

Entrez l’URL de Prometheus comme http://192.168.5.16:9090/ et entrez le nom d’utilisateur et le mot de passe pour votre serveur Prometheus.

add prometheus details

Faites défiler vers le bas et cliquez sur Enregistrer et tester. Si cela réussit, vous verrez le message Successfully queried the Prometheus API.

save and test data source

Après avoir ajouté Prometheus en tant que source de données, vous créerez un nouveau tableau de bord Grafana pour la surveillance du système.

Cliquez sur le menu Tableau de bord > Créer un tableau de bord.

create dashboard

Sélectionnez Importer un tableau de bord pour importer le tableau de bord.

import dashboard

Visitez https://grafana.com/grafana/dashboards/ et trouvez votre tableau de bord approprié. Dans cet exemple, vous chargerez le tableau de bord Grafana avec l’ID 15172.

Cliquez sur Charger pour importer le tableau de bord.

Load dashboard id

Sélectionnez maintenant Prometheus en tant que backend et cliquez sur Importer pour confirmer.

select prometheus as backend

Si tout se passe bien, votre tableau de bord Grafana devrait être créé. Voici la capture d’écran du tableau de bord Grafana avec la surveillance de Prometheus et node_exporter :

dashboard monitoring

Conclusion

Félicitations ! Vous avez terminé l’installation de Grafana, Prometheus et node_exporter sur des serveurs Ubuntu 24.04. Vous avez Grafana fonctionnant avec Nginx en tant que proxy inverse, sécurisé Prometheus avec une authentification par mot de passe, intégré node_exporter avec Prometheus, ajouté Prometheus en tant que source de données à Grafana, et importé le tableau de bord Grafana.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.