6/11
This commit is contained in:
parent
5123a547d9
commit
50ee1271dd
@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
# ---------------------------------------------------------
|
||||
# Script d'installation automatique de Node Exporter + Promtail
|
||||
# Compatible Debian/Ubuntu
|
||||
# ---------------------------------------------------------
|
||||
|
||||
set -e # Stoppe le script en cas d'erreur
|
||||
|
||||
# --- Variables globales ---
|
||||
NODE_EXPORTER_VERSION="1.7.0"
|
||||
PROMTAIL_VERSION="2.9.2"
|
||||
LOKI_SERVER_IP="192.168.56.16" # à modifier selon ton environnement
|
||||
HOSTNAME_LABEL=$(hostname)
|
||||
|
||||
# --- Vérification utilisateur root ---
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Ce script doit être exécuté en tant que root (sudo)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🚀 Mise à jour du système..."
|
||||
apt update -y && apt install -y wget unzip
|
||||
|
||||
# --- Installation de Node Exporter ---
|
||||
echo "Installation de Node Exporter v${NODE_EXPORTER_VERSION}..."
|
||||
cd /tmp
|
||||
wget -q https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
|
||||
tar xvf node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
|
||||
mv node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64/node_exporter /usr/local/bin/
|
||||
useradd -rs /bin/false nodeusr || true
|
||||
|
||||
cat >/etc/systemd/system/node_exporter.service <<EOF
|
||||
[Unit]
|
||||
Description=Node Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=nodeusr
|
||||
ExecStart=/usr/local/bin/node_exporter
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now node_exporter
|
||||
echo "Node Exporter installé et démarré."
|
||||
|
||||
# --- Installation de Promtail ---
|
||||
echo "Installation de Promtail v${PROMTAIL_VERSION}..."
|
||||
cd /tmp
|
||||
wget -q https://github.com/grafana/loki/releases/download/v${PROMTAIL_VERSION}/promtail-linux-amd64.zip
|
||||
unzip -o promtail-linux-amd64.zip
|
||||
mv promtail-linux-amd64 /usr/local/bin/promtail
|
||||
chmod +x /usr/local/bin/promtail
|
||||
|
||||
# --- Configuration de Promtail ---
|
||||
cat >/etc/promtail-config.yml <<EOF
|
||||
server:
|
||||
http_listen_port: 9080
|
||||
grpc_listen_port: 0
|
||||
|
||||
positions:
|
||||
filename: /tmp/positions.yaml
|
||||
|
||||
clients:
|
||||
- url: http://${LOKI_SERVER_IP}:3100/loki/api/v1/push
|
||||
|
||||
scrape_configs:
|
||||
- job_name: system
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost
|
||||
labels:
|
||||
job: vm-observed
|
||||
host: ${HOSTNAME_LABEL}
|
||||
__path__: /var/log/*.log
|
||||
EOF
|
||||
|
||||
# --- Service Promtail ---
|
||||
cat >/etc/systemd/system/promtail.service <<EOF
|
||||
[Unit]
|
||||
Description=Promtail
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail-config.yml
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now promtail
|
||||
echo "Promtail installé et démarré."
|
||||
|
||||
# --- Résumé ---
|
||||
echo "Installation terminée avec succès !"
|
||||
echo "----------------------------------------"
|
||||
echo "Node Exporter : http://$(hostname -I | awk '{print $1}'):9100/metrics"
|
||||
echo "Promtail : config => /etc/promtail-config.yml"
|
||||
echo "Loki Server IP : ${LOKI_SERVER_IP}:3100"
|
||||
echo "----------------------------------------"
|
||||
Loading…
x
Reference in New Issue
Block a user