maj1
This commit is contained in:
parent
890a2fa1a3
commit
6604b6d123
@ -1,21 +1,30 @@
|
|||||||
1️⃣ Objectif
|
Étape 1 : Installer Apache sur la machine à superviser
|
||||||
Métriques Apache → récupérées via Apache Exporter → Prometheus → Grafana.
|
|
||||||
Logs Apache → récupérés via Promtail → Loki → Grafana.
|
|
||||||
Vue complète dans Grafana avec métriques + logs.
|
|
||||||
|
|
||||||
2️⃣ Sur la VM qui héberge Apache (la VM à superviser)
|
Pour vérifier si Apache est déjà installé :
|
||||||
|
dpkg -l | grep apache2
|
||||||
|
|
||||||
2.1 Installer Apache Exporter
|
|
||||||
Télécharger l’exporter et le rendre exécutable :
|
|
||||||
|
|
||||||
|
Si la commande retourne un numéro de version, Apache est déjà installé. Sinon :
|
||||||
|
|
||||||
|
Sur Ubuntu/Debian :
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install apache2 -y
|
||||||
|
sudo systemctl enable apache2
|
||||||
|
sudo systemctl start apache2
|
||||||
|
sudo systemctl status apache2
|
||||||
|
|
||||||
|
Étape 2 : Installer le module de métriques pour Prometheus
|
||||||
|
|
||||||
|
Prometheus ne peut pas lire directement les métriques Apache. On utilise apache_exporter.
|
||||||
|
|
||||||
|
2.1 Télécharger apache_exporter
|
||||||
cd /opt
|
cd /opt
|
||||||
wget https://github.com/Lusitaniae/apache_exporter/releases/download/v1.0.10/apache_exporter-1.0.10.linux-amd64.tar.gz
|
sudo wget https://github.com/Lusitaniae/apache_exporter/releases/download/v1.0.10/apache_exporter-1.0.10.linux-amd64.tar.gz
|
||||||
tar -xvf apache_exporter-1.0.10.linux-amd64.tar.gz
|
sudo tar -xvf apache_exporter-1.0.10.linux-amd64.tar.gz
|
||||||
sudo mv apache_exporter-1.0.10.linux-amd64/apache_exporter /usr/local/bin/
|
sudo mv apache_exporter-1.0.10.linux-amd64/apache_exporter /usr/local/bin/
|
||||||
|
|
||||||
Créer un service systemd pour Apache Exporter :
|
2.2 Créer un service systemd pour apache_exporter
|
||||||
***
|
sudo nano /etc/systemd/system/apache_exporter.service
|
||||||
sudo tee /etc/systemd/system/apache_exporter.service <<EOF
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Prometheus Apache Exporter
|
Description=Prometheus Apache Exporter
|
||||||
After=network.target
|
After=network.target
|
||||||
@ -26,34 +35,38 @@ ExecStart=/usr/local/bin/apache_exporter --scrape_uri="http://localhost/server-s
|
|||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
|
||||||
***
|
2.3 Activer le module status d’Apache
|
||||||
Activer et démarrer le service :
|
sudo a2enmod status
|
||||||
|
sudo systemctl restart apache2
|
||||||
|
|
||||||
|
2.4 Démarrer apache_exporter
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
sudo systemctl enable --now apache_exporter
|
sudo systemctl enable apache_exporter
|
||||||
|
sudo systemctl start apache_exporter
|
||||||
sudo systemctl status apache_exporter
|
sudo systemctl status apache_exporter
|
||||||
|
|
||||||
Vérifier le endpoint des métriques :
|
✅ À ce stade, Prometheus pourra scrapper les métriques Apache sur le port par défaut 9117 :
|
||||||
curl http://localhost:9117/metrics
|
|
||||||
|
|
||||||
2.2 Configurer Promtail pour les logs Apache
|
http://<IP_MACHINE2>:9117/metrics//vérifier ça sur le site prometheus
|
||||||
|
|
||||||
|
Étape 4 : Collecter les logs Apache via Loki + Promtail
|
||||||
|
4.1 Installer Promtail sur la machine supervisée
|
||||||
|
|
||||||
|
Si Promtail n’est pas encore installé, tu peux le télécharger depuis Grafana :
|
||||||
|
|
||||||
cd /opt
|
cd /opt
|
||||||
wget https://github.com/grafana/loki/releases/latest/download/promtail-linux-amd64.zip
|
sudo wget https://github.com/grafana/loki/releases/download/v2.9.0/promtail-linux-amd64.zip
|
||||||
unzip promtail-linux-amd64.zip
|
sudo unzip promtail-linux-amd64.zip
|
||||||
sudo mv promtail-linux-amd64 /usr/local/bin/promtail
|
sudo mv promtail-linux-amd64 /usr/local/bin/promtail
|
||||||
sudo chmod +x /usr/local/bin/promtail
|
sudo chmod +x /usr/local/bin/promtail
|
||||||
|
|
||||||
Vérifie que Promtail est bien accessible :
|
4.2 Créer un fichier de config pour Promtail
|
||||||
which promtail
|
sudo nano /etc/promtail-config.yaml
|
||||||
promtail --version
|
|
||||||
|
|
||||||
Créer le répertoire de config :
|
|
||||||
sudo mkdir -p /etc/promtail
|
|
||||||
sudo nano /etc/promtail/promtail-config.yml
|
|
||||||
|
|
||||||
Exemple de configuration pour séparer access et error logs :
|
Exemple pour Apache :
|
||||||
**
|
|
||||||
server:
|
server:
|
||||||
http_listen_port: 9080
|
http_listen_port: 9080
|
||||||
grpc_listen_port: 0
|
grpc_listen_port: 0
|
||||||
@ -80,13 +93,10 @@ scrape_configs:
|
|||||||
job: apache_error
|
job: apache_error
|
||||||
host: apache_vm
|
host: apache_vm
|
||||||
__path__: /var/log/apache2/error.log
|
__path__: /var/log/apache2/error.log
|
||||||
|
|
||||||
|
4.3 Créer un service systemd pour Promtail
|
||||||
|
sudo nano /etc/systemd/system/promtail.service
|
||||||
|
|
||||||
*****
|
|
||||||
Remplace <IP_VM_SUPERVISION> par l’IP de la VM où tourne Loki.
|
|
||||||
****
|
|
||||||
Créer le service systemd pour Promtail :
|
|
||||||
***
|
|
||||||
sudo tee /etc/systemd/system/promtail.service <<EOF
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Promtail service for Apache logs
|
Description=Promtail service for Apache logs
|
||||||
After=network.target
|
After=network.target
|
||||||
@ -98,30 +108,9 @@ Restart=always
|
|||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
|
||||||
****
|
|
||||||
Activer et démarrer Promtail :
|
|
||||||
**
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
sudo systemctl enable --now promtail
|
|
||||||
sudo systemctl status promtail
|
|
||||||
**
|
|
||||||
Générer une erreur pour tester :
|
|
||||||
curl http://localhost/page-inexistante
|
|
||||||
Vérifier error.log :
|
|
||||||
tail -f /var/log/apache2/error.log
|
|
||||||
|
|
||||||
4️⃣ Dans Grafana
|
sudo systemctl daemon-reload
|
||||||
Ajouter Prometheus comme datasource (port 9090).
|
sudo systemctl enable promtail
|
||||||
Ajouter Loki comme datasource (port 3100).
|
sudo systemctl start promtail
|
||||||
Créer un dashboard avec :
|
sudo systemctl status promtail
|
||||||
**
|
|
||||||
Métriques Apache : requêtes, connexions, status codes depuis Prometheus.
|
|
||||||
**
|
|
||||||
Logs Apache :
|
|
||||||
job="apache_access" → access logs
|
|
||||||
job="apache_error" → error logs
|
|
||||||
**
|
|
||||||
Tester :
|
|
||||||
Faire une requête curl http://vmApache/page-inexistante → devrait apparaître dans apache_error.
|
|
||||||
Vérifier les logs et métriques dans Grafana.
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user