« Prometheus - Grafana - Node Exporter » : différence entre les versions
De EC_Wiki
Autres actions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
= 🧩 Installation complète : Prometheus + Node Exporter + Grafana = | |||
== 1. Installation de Prometheus == | |||
===== 1.1 Télécharger Prometheus ===== | ===== 1.1 Télécharger Prometheus ===== | ||
bash: | bash: | ||
| Ligne 9 : | Ligne 9 : | ||
sudo mv prometheus-*/ prometheus | sudo mv prometheus-*/ prometheus | ||
==== 1.2 Créer l’utilisateur système ==== | ===== 1.2 Créer l’utilisateur système ===== | ||
bash: | bash: | ||
sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus | sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus | ||
==== 1.3 Déplacer les binaires ==== | ===== 1.3 Déplacer les binaires ===== | ||
bash: | bash: | ||
sudo mv /opt/prometheus/prometheus /usr/local/bin/ | sudo mv /opt/prometheus/prometheus /usr/local/bin/ | ||
sudo mv /opt/prometheus/promtool /usr/local/bin/ | sudo mv /opt/prometheus/promtool /usr/local/bin/ | ||
==== 1.4 Créer les dossiers ==== | ===== 1.4 Créer les dossiers ===== | ||
bash: | bash: | ||
sudo mkdir /etc/prometheus | sudo mkdir /etc/prometheus | ||
sudo mkdir /var/lib/prometheus | sudo mkdir /var/lib/prometheus | ||
==== 1.5 Déplacer les fichiers de configuration ==== | ===== 1.5 Déplacer les fichiers de configuration ===== | ||
bash: | bash: | ||
sudo mv /opt/prometheus/consoles /etc/prometheus/ | sudo mv /opt/prometheus/consoles /etc/prometheus/ | ||
| Ligne 29 : | Ligne 29 : | ||
sudo mv /opt/prometheus/prometheus.yml /etc/prometheus/ | sudo mv /opt/prometheus/prometheus.yml /etc/prometheus/ | ||
==== 1.6 Permissions ==== | ===== 1.6 Permissions ===== | ||
bash: | bash: | ||
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus | sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus | ||
==== 1.7 Service systemd Prometheus ==== | ===== 1.7 Service systemd Prometheus ===== | ||
/etc/systemd/system/prometheus.service : | /etc/systemd/system/prometheus.service : | ||
ini: | ini: | ||
| Ligne 53 : | Ligne 53 : | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
==== 1.8 Activer & démarrer ==== | ===== 1.8 Activer & démarrer ===== | ||
bash: | bash: | ||
sudo systemctl daemon-reload | sudo systemctl daemon-reload | ||
sudo systemctl enable --now prometheus | sudo systemctl enable --now prometheus | ||
== 2. Installation de Node Exporter == | |||
==== 2.1 Télécharger ==== | ==== 2.1 Télécharger ==== | ||
bash: | bash: | ||
| Ligne 66 : | Ligne 66 : | ||
sudo mv node_exporter-*/ node_exporter | sudo mv node_exporter-*/ node_exporter | ||
==== 2.2 Créer utilisateur ==== | ===== 2.2 Créer utilisateur ===== | ||
bash: | bash: | ||
sudo useradd --no-create-home --shell /usr/sbin/nologin nodeusr | sudo useradd --no-create-home --shell /usr/sbin/nologin nodeusr | ||
==== 2.3 Déplacer le binaire ==== | ===== 2.3 Déplacer le binaire ===== | ||
bash: | bash: | ||
sudo mv /opt/node_exporter/node_exporter /usr/local/bin/ | sudo mv /opt/node_exporter/node_exporter /usr/local/bin/ | ||
sudo chown nodeusr:nodeusr /usr/local/bin/node_exporter | sudo chown nodeusr:nodeusr /usr/local/bin/node_exporter | ||
==== 2.4 Service systemd Node Exporter ==== | ===== 2.4 Service systemd Node Exporter ===== | ||
/etc/systemd/system/node_exporter.service : | /etc/systemd/system/node_exporter.service : | ||
ini: | ini: | ||
| Ligne 91 : | Ligne 91 : | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
==== 2.5 Activer & démarrer ==== | ===== 2.5 Activer & démarrer ===== | ||
bash: | bash: | ||
sudo systemctl daemon-reload | sudo systemctl daemon-reload | ||
sudo systemctl enable --now node_exporter | sudo systemctl enable --now node_exporter | ||
== 3. Installation de Grafana == | |||
==== 3.1 Dépôt officiel ==== | ===== 3.1 Dépôt officiel ===== | ||
bash: | bash: | ||
sudo apt-get install -y apt-transport-https software-properties-common wget | sudo apt-get install -y apt-transport-https software-properties-common wget | ||
| Ligne 105 : | Ligne 105 : | ||
sudo apt install grafana | sudo apt install grafana | ||
==== 3.2 Activer & démarrer ==== | ===== 3.2 Activer & démarrer ===== | ||
bash: | bash: | ||
sudo systemctl enable --now grafana-server | sudo systemctl enable --now grafana-server | ||
== 4. Reverse Proxy NGINX (Prometheus, Grafana, Node Exporter) == | |||
==== 4.1 Prometheus (/prometheus/) ==== | ===== 4.1 Prometheus (/prometheus/) ===== | ||
code nginx: | code nginx: | ||
location = /prometheus { | location = /prometheus { | ||
| Ligne 125 : | Ligne 125 : | ||
} | } | ||
=== 4.2 Grafana (/grafana/) === | ===== 4.2 Grafana (/grafana/) ===== | ||
⚠️ Pas de slash final dans proxy_pass | ⚠️ Pas de slash final dans proxy_pass | ||
| Ligne 150 : | Ligne 150 : | ||
} | } | ||
=== 4.3 Node Exporter (/metrics/) === | ===== 4.3 Node Exporter (/metrics/) ===== | ||
code nginx: | code nginx: | ||
location /metrics/ { | location /metrics/ { | ||
| Ligne 159 : | Ligne 159 : | ||
} | } | ||
== 5. Vérifications finales == | |||
==== 5.1 Services ==== | ===== 5.1 Services ===== | ||
bash: | bash: | ||
systemctl status prometheus | systemctl status prometheus | ||
| Ligne 166 : | Ligne 166 : | ||
systemctl status grafana-server | systemctl status grafana-server | ||
==== 5.2 Ports ==== | ===== 5.2 Ports ===== | ||
bash: | bash: | ||
ss -ltnp | grep -E "9090|9100|3000" | ss -ltnp | grep -E "9090|9100|3000" | ||
==== 5.3 Reverse proxy ==== | ===== 5.3 Reverse proxy ===== | ||
bash: | bash: | ||
curl -I https://IP/prometheus/ --insecure | curl -I https://IP/prometheus/ --insecure | ||
| Ligne 176 : | Ligne 176 : | ||
curl -I https://IP/metrics/ --insecure | curl -I https://IP/metrics/ --insecure | ||
== 6. Pièges à éviter (résumés) == | |||
* ❌ Ne jamais mettre de .save ou .bak dans sites-enabled | * ❌ Ne jamais mettre de .save ou .bak dans sites-enabled | ||
Dernière version du 23 décembre 2025 à 16:26
🧩 Installation complète : Prometheus + Node Exporter + Grafana modifier
1. Installation de Prometheus modifier
1.1 Télécharger Prometheus modifier
bash: cd /opt sudo wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-linux-amd64.tar.gz sudo tar -xzf prometheus-linux-amd64.tar.gz sudo mv prometheus-*/ prometheus
1.2 Créer l’utilisateur système modifier
bash: sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus
1.3 Déplacer les binaires modifier
bash: sudo mv /opt/prometheus/prometheus /usr/local/bin/ sudo mv /opt/prometheus/promtool /usr/local/bin/
1.4 Créer les dossiers modifier
bash: sudo mkdir /etc/prometheus sudo mkdir /var/lib/prometheus
1.5 Déplacer les fichiers de configuration modifier
bash: sudo mv /opt/prometheus/consoles /etc/prometheus/ sudo mv /opt/prometheus/console_libraries /etc/prometheus/ sudo mv /opt/prometheus/prometheus.yml /etc/prometheus/
1.6 Permissions modifier
bash: sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
1.7 Service systemd Prometheus modifier
/etc/systemd/system/prometheus.service :
ini: [Unit] Description=Prometheus Monitoring Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file=/etc/prometheus/prometheus.yml \ --storage.tsdb.path=/var/lib/prometheus \ --web.listen-address=0.0.0.0:9090 [Install] WantedBy=multi-user.target
1.8 Activer & démarrer modifier
bash: sudo systemctl daemon-reload sudo systemctl enable --now prometheus
2. Installation de Node Exporter modifier
2.1 Télécharger modifier
bash: cd /opt sudo wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-linux-amd64.tar.gz sudo tar -xzf node_exporter-linux-amd64.tar.gz sudo mv node_exporter-*/ node_exporter
2.2 Créer utilisateur modifier
bash: sudo useradd --no-create-home --shell /usr/sbin/nologin nodeusr
2.3 Déplacer le binaire modifier
bash: sudo mv /opt/node_exporter/node_exporter /usr/local/bin/ sudo chown nodeusr:nodeusr /usr/local/bin/node_exporter
2.4 Service systemd Node Exporter modifier
/etc/systemd/system/node_exporter.service :
ini: [Unit] Description=Node Exporter After=network.target [Service] User=nodeusr Group=nodeusr Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
2.5 Activer & démarrer modifier
bash: sudo systemctl daemon-reload sudo systemctl enable --now node_exporter
3. Installation de Grafana modifier
3.1 Dépôt officiel modifier
bash: sudo apt-get 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 /etc/apt/sources.list.d/grafana.list sudo apt update sudo apt install grafana
3.2 Activer & démarrer modifier
bash: sudo systemctl enable --now grafana-server
4. Reverse Proxy NGINX (Prometheus, Grafana, Node Exporter) modifier
4.1 Prometheus (/prometheus/) modifier
code nginx:
location = /prometheus {
return 301 /prometheus/;
}
location ^~ /prometheus/ {
proxy_pass http://127.0.0.1:9090/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
4.2 Grafana (/grafana/) modifier
⚠️ Pas de slash final dans proxy_pass ⚠️ root_url doit être configuré /etc/grafana/grafana.ini
ini: [server] root_url = %(protocol)s://%(domain)s/grafana/ serve_from_sub_path = true
NGINX : modifier
code nginx:
location = /grafana {
return 301 /grafana/;
}
location ^~ /grafana/ {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
4.3 Node Exporter (/metrics/) modifier
code nginx:
location /metrics/ {
proxy_pass http://127.0.0.1:9100/metrics;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
}
5. Vérifications finales modifier
5.1 Services modifier
bash: systemctl status prometheus systemctl status node_exporter systemctl status grafana-server
5.2 Ports modifier
bash: ss -ltnp | grep -E "9090|9100|3000"
5.3 Reverse proxy modifier
bash: curl -I https://IP/prometheus/ --insecure curl -I https://IP/grafana/ --insecure curl -I https://IP/metrics/ --insecure
6. Pièges à éviter (résumés) modifier
- ❌ Ne jamais mettre de .save ou .bak dans sites-enabled
- ❌ Ne jamais oublier le / final pour Prometheus & Node Exporter
- ❌ Ne jamais mettre de / final pour Grafana
- ❌ Toujours rediriger /app → /app/
- ❌ Toujours utiliser ^~ /app/ pour éviter les conflits
- ❌ Toujours configurer root_url pour Grafana