Prometheus Node exporter

From wikieduonline
Jump to navigation Jump to search

Prometheus Node exporter

MERGE: Prometheus-node-exporter

Installing 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

  • https://github.com/prometheus/node_exporter#using-docker
  • Advertising: