52 lines
1.6 KiB
Bash
52 lines
1.6 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Récupérer la dernière version de node_exporter
|
||
|
latest_version=$(curl -s
|
||
|
https://api.github.com/repos/prometheus/node_exporter/releases/latest |
|
||
|
grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||
|
version=${latest_version#v} # Supprimer le "v" du début de la version
|
||
|
download_url="https://github.com/prometheus/node_exporter/releases/download/${latest_version}/node_exporter-${version}.linux-amd64.tar.gz"
|
||
|
|
||
|
# Télécharger et extraire node_exporter
|
||
|
echo "Téléchargement de node_exporter version ${latest_version}..."
|
||
|
wget ${download_url}
|
||
|
tar xvfz node_exporter-${version}.linux-amd64.tar.gz
|
||
|
|
||
|
# Déplacer les fichiers vers /usr/local/bin
|
||
|
sudo cp node_exporter-${version}.linux-amd64/node_exporter /usr/local/bin/
|
||
|
|
||
|
# Créer un utilisateur pour exécuter node_exporter
|
||
|
sudo useradd -rs /bin/false node_exporter
|
||
|
|
||
|
# Créer un service pour démarrer node_exporter au démarrage du système
|
||
|
sudo bash -c 'cat <<EOF > /etc/systemd/system/node_exporter.service
|
||
|
[Unit]
|
||
|
Description=Prometheus Node Exporter
|
||
|
Wants=network-online.target
|
||
|
After=network-online.target
|
||
|
|
||
|
[Service]
|
||
|
User=node_exporter
|
||
|
Group=node_exporter
|
||
|
Type=simple
|
||
|
ExecStart=/usr/local/bin/node_exporter
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=default.target
|
||
|
EOF'
|
||
|
|
||
|
# Charger le service et démarrer node_exporter
|
||
|
sudo systemctl daemon-reload
|
||
|
sudo systemctl enable node_exporter
|
||
|
sudo systemctl start node_exporter
|
||
|
|
||
|
# Vérifier le statut de node_exporter
|
||
|
systemctl status node_exporter
|
||
|
|
||
|
# Supprimer l'archive tar.gz et le dossier d'installation
|
||
|
echo "Nettoyage..."
|
||
|
rm node_exporter-${version}.linux-amd64.tar.gz
|
||
|
rm -rf node_exporter-${version}.linux-amd64
|
||
|
|
||
|
echo "Installation de node_exporter terminée et fichiers supprimés."
|