Last active
October 28, 2024 15:26
-
-
Save galexrt/44d62a0681146bfdbe98d0b549a01999 to your computer and use it in GitHub Desktop.
Simple Prometheus node_exporter install script (Updated for 1.0.1)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
version="${VERSION:-1.0.1}" | |
arch="${ARCH:-linux-amd64}" | |
bin_dir="${BIN_DIR:-/usr/local/bin}" | |
wget "https://github.com/prometheus/node_exporter/releases/download/v$version/node_exporter-$version.$arch.tar.gz" \ | |
-O /tmp/node_exporter.tar.gz | |
mkdir -p /tmp/node_exporter | |
cd /tmp || { echo "ERROR! No /tmp found.."; exit 1; } | |
tar xfz /tmp/node_exporter.tar.gz -C /tmp/node_exporter || { echo "ERROR! Extracting the node_exporter tar"; exit 1; } | |
cp "/tmp/node_exporter/node_exporter-$version.$arch/node_exporter" "$bin_dir" | |
chown root:staff "$bin_dir/node_exporter" | |
cat <<EOF > /etc/systemd/system/node_exporter.service | |
[Unit] | |
Description=Prometheus node exporter | |
After=local-fs.target network-online.target network.target | |
Wants=local-fs.target network-online.target network.target | |
[Service] | |
Type=simple | |
ExecStartPre=-/sbin/iptables -I INPUT 1 -p tcp --dport 9100 -s 127.0.0.1 -j ACCEPT | |
ExecStartPre=-/sbin/iptables -I INPUT 3 -p tcp --dport 9100 -j DROP | |
ExecStart=/usr/local/bin/node_exporter | |
[Install] | |
WantedBy=multi-user.target | |
EOF | |
systemctl enable node_exporter.service | |
systemctl start node_exporter.service | |
echo "SUCCESS! Installation succeeded!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@carlocorradini Looks like a good improvement on this simple script. One thing I would optional though would be the
iptables
rules created during the service start. They can be placed "anywhere" under the[Service]
section so you can just append them to the file if the feature flag has been enabled.Might also be worth to add
ExecStopPost
to remove the iptables rules so in case the service is restarted multiple times there are no leftover iptables rules.