Skip to content

Instantly share code, notes, and snippets.

@thraizz
Last active July 16, 2021 14:55
Show Gist options
  • Save thraizz/0d1ff1fcec354f822478d5402078d7d7 to your computer and use it in GitHub Desktop.
Save thraizz/0d1ff1fcec354f822478d5402078d7d7 to your computer and use it in GitHub Desktop.
Downloads, extracts, enables and starts node_exporter
[Unit]
Description=Node Exporter
[Service]
User=node_exporter
EnvironmentFile=/etc/sysconfig/node_exporter
ExecStart=/opt/node_exporter/node_exporter $OPTIONS
[Install]
WantedBy=multi-user.target
#!/usr/bin/env bash
for command in jq wget curl; do
if [[ -z $(type -P $command) ]]; then
echo "$command is required for this script to work."
fi
done
# Download latest node_exporter and extract to /opt
cd /tmp
VERSION=$(curl "https://api.github.com/repos/prometheus/node_exporter/tags" -s | jq -r '.[0].name')
wget https://github.com/prometheus/node_exporter/releases/download/$VERSION/node_exporter-${VERSION/v/}.linux-amd64.tar.gz
mkdir -p /opt/node_exporter
tar xvfz node_exporter-*.*-amd64.tar.gz -C /opt/node_exporter
# Download services for starting node exporter
wget -O /etc/systemd/system/node_exporter.service https://gist.githubusercontent.com/thraizz/0d1ff1fcec354f822478d5402078d7d7/raw/9c1a5d66346644fb6e59a59920b28691ca34e99a/node_exporter.service
mkdir /etc/sysconfig
wget -O /etc/sysconfig/node_exporter https://github.com/prometheus/node_exporter/raw/master/examples/systemd/sysconfig.node_exporter
mkdir -p /var/lib/node_exporter/textfile_collector
# Add user for running node_exporter
useradd --shell /sbin/nologin node_exporter
chown node_exporter:node_exporter /var/lib/node_exporter/
chown node_exporter:node_exporter /var/lib/node_exporter/textfile_collector/
# Start service
systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment