-
-
Save galexrt/44d62a0681146bfdbe98d0b549a01999 to your computer and use it in GitHub Desktop.
#!/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!" |
Thanks! it helped!
@lgg42 no problem! Please note that I have gone ahead and updated the node_exporter version to v1.0.1 as of today.
Hey, I'm trying to create a more robust/advanced/configurable installation script for Node exporter.
You can find it here: https://github.com/carlocorradini/node_exporter_installer
Any help is greatly appreciated!
@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.
@galexrt Thanks!
Do you want to create a simple PR? 🥳🤯
thanks for this. Helped me a lot today