This commit is contained in:
Ornel_Zply 2025-10-28 12:56:06 +01:00
parent cd22fdac81
commit 69e72fff97
2 changed files with 146 additions and 0 deletions

View File

@ -0,0 +1,42 @@
#!/bin/bash
echo "Mise à jour du système..."
sudo apt-get update && sudo apt-get upgrade -y
echo "Installation des dépendances nécessaires..."
sudo apt-get install ca-certificates curl gnupg lsb-release -y
echo "Ajout de la clé GPG officielle de Docker..."
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "Ajout du dépôt Docker à la liste des sources APT..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
echo "Mise à jour des dépôts..."
sudo apt-get update
echo "Installation de Docker..."
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
echo "Ajout de l'utilisateur actuel au groupe Docker..."
#sudo usermod -aG docker $USER
echo "Copie du dossier 'observability' vers /root..."
sudo cp -r /vagrant/observability /root
echo "Déplacement dans le dossier observability..."
#sudo -i
cd ~/observability
echo "Modification des permissions des dossiers Loki..."
sudo chown -R 10001:10001 loki-wal loki-chunks loki-index
echo "Vérification des fichiers Loki..."
ls -la | grep loki
echo "Lancement des conteneurs Docker avec Docker Compose..."
sudo docker compose up -d
echo "Installation terminée avec succès."

View File

@ -0,0 +1,104 @@
#!/bin/bash
set -e
# Variables
APACHE_EXPORTER_VERSION="1.0.10"
PROMTAIL_VERSION="2.9.0"
PROMTAIL_CONFIG="/etc/promtail-config.yaml"
LOKI_URL="http://192.168.56.20:3100/loki/api/v1/push"
echo "=== Installation des dépendances ==="
sudo apt update
sudo apt install -y wget unzip apache2
echo "=== Installation et configuration de apache_exporter ==="
cd /opt
wget https://github.com/Lusitaniae/apache_exporter/releases/download/v${APACHE_EXPORTER_VERSION}/apache_exporter-${APACHE_EXPORTER_VERSION}.linux-amd64.tar.gz
tar -xvf apache_exporter-${APACHE_EXPORTER_VERSION}.linux-amd64.tar.gz
sudo mv apache_exporter-${APACHE_EXPORTER_VERSION}.linux-amd64/apache_exporter /usr/local/bin/
# Création du service systemd pour apache_exporter
sudo tee /etc/systemd/system/apache_exporter.service > /dev/null <<EOL
[Unit]
Description=Prometheus Apache Exporter
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/apache_exporter --scrape_uri="http://localhost/server-status?auto"
[Install]
WantedBy=multi-user.target
EOL
echo "=== Activation du module status d'Apache ==="
sudo a2enmod status
sudo systemctl restart apache2
echo "=== Démarrage du service apache_exporter ==="
sudo systemctl daemon-reload
sudo systemctl enable apache_exporter
sudo systemctl start apache_exporter
sudo systemctl status apache_exporter --no-pager
echo "=== Installation et configuration de Promtail ==="
cd /opt
wget https://github.com/grafana/loki/releases/download/v${PROMTAIL_VERSION}/promtail-linux-amd64.zip
unzip promtail-linux-amd64.zip
sudo mv promtail-linux-amd64 /usr/local/bin/promtail
sudo chmod +x /usr/local/bin/promtail
# Création du fichier de configuration Promtail
sudo tee ${PROMTAIL_CONFIG} > /dev/null <<EOL
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /var/log/promtail-positions.yaml
clients:
- url: ${LOKI_URL}
scrape_configs:
- job_name: apache_access
static_configs:
- targets: ['localhost']
labels:
job: apache_access
host: apache_vm
__path__: /var/log/apache2/access.log
- job_name: apache_error
static_configs:
- targets: ['localhost']
labels:
job: apache_error
host: apache_vm
__path__: /var/log/apache2/error.log
EOL
# Création du service systemd pour Promtail
sudo tee /etc/systemd/system/promtail.service > /dev/null <<EOL
[Unit]
Description=Promtail service for Apache logs
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/promtail -config.file ${PROMTAIL_CONFIG}
Restart=always
[Install]
WantedBy=multi-user.target
EOL
echo "=== Démarrage du service Promtail ==="
sudo systemctl daemon-reload
sudo systemctl enable promtail
sudo systemctl start promtail
sudo systemctl status promtail --no-pager
echo "=== Installation terminée ==="