Prometheus Node exporter
Prometheus Node exporter
MERGE: Prometheus-node-exporter
Installing Node Exporter
- Linux:
apt install prometheus-node-exporter
- macOS:
brew install node_exporter
Review exposed information: http://localhost:9100/metrics
Installing Node Exporter from Docker Hub
It's not recommended to deploy it as a Docker container[1]
docker pull prom/node-exporter && docker run prom/node-exporter
Installing Node Exporter from Prometheus binary relases
To expand Prometheus beyond metrics about itself only, we'll install an additional exporter called Node Exporter. Node Exporter provides detailed information about the system, including CPU, disk, and memory usage.
- Download the current stable version of Node Exporter into your home directory.
cd ~ curl -LO https://github.com/prometheus/node_exporter/releases/download/v0.15.1/node_exporter-0.15.1.linux-amd64.tar.gz
- Use the sha256sum command to generate a checksum of the downloaded file:
sha256sum node_exporter-0.15.1.linux-amd64.tar.gz
- Unpack the downloaded archive:
tar xvf node_exporter-0.15.1.linux-amd64.tar.gz
- This will create a directory called node_exporter-0.15.1.linux-amd64 containing a binary file named node_exporter, a license, and a notice.
- Copy the binary to the /usr/local/bin directory and set the user and group ownership to the node_exporter user that you created in Step 1 and remove the leftover files from your home directory as they are no longer needed.
sudo cp node_exporter-0.15.1.linux-amd64/node_exporter /usr/local/bin sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
rm -rf node_exporter-0.15.1.linux-amd64.tar.gz node_exporter-0.15.1.linux-amd64
Now that you've installed Node Exporter, let's test it out by running it before creating a service file for it so that it starts on boot.
Running Node Exporter
The steps for running Node Exporter are similar to those for running Prometheus itself. Start by creating the Systemd service file for Node Exporter and copy the following content into the service file:
sudo vi /etc/systemd/system/node_exporter.service
[Unit] Description=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=multi-user.target
- Reload systemd to use the newly created service: :
sudo systemctl daemon-reload
- Run Node Exporter using the following command: :
sudo systemctl start node_exporter
- Verify that Node Exporter's running correctly: :
sudo systemctl status node_exporter
- Lastly, enable Node Exporter to start on boot.
sudo systemctl enable node_exporter
Configuring Prometheus to Scrape Node Exporter
Because Prometheus only scrapes exporters which are defined in the scrape_configs portion of its configuration file, we'll need to add an entry for Node Exporter, just like we did for Prometheus itself.
At the end of the scrape_configs block, add a new entry called node_exporter.
sudo nano /etc/prometheus/[[prometheus.yml]]
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - targets: ['localhost:9090'] - job_name: 'node_exporter' scrape_interval: 5s static_configs: - targets: ['localhost:9100']
Finally, restart Prometheus to put the changes into effect and verify status
docker restart prometheus
Related terms
See also
- Prometheus: Prometheus installation,
9090
, storage, Prometheus exporters: Node exporter9100
, Blackbox exporter, Prometheus alertmanager (changelog), Prometheus versions, Prometheus Node exporter releases,promtool
,amtool, tsdb
,/etc/default/prometheus, /etc/prometheus/prometheus.yml, journalctl -u prometheus
,/etc/default/prometheus-node-exporter
, PromQL,alert:
, Prometheus Operator, Thanos, VictoriaMetrics, PushGateway, Prometheus API,values.yml
, Amazon Managed Service for Prometheus
Advertising: