whatisgithub

What is node_exporter?

prometheus/node_exporter — explained in plain English

Analysis updated 2026-06-24

13,405GoAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

A small Go program that collects hundreds of hardware and OS metrics from a Linux server, CPU, memory, disk, network, and exposes them on an HTTP endpoint for Prometheus to scrape and Grafana to visualize.

Mindmap

mindmap
  root((repo))
    What it does
      Collects system metrics
      HTTP endpoint port 9100
      Prometheus compatible
    Collectors
      CPU and memory
      Disk and network
      Hardware sensors
    Integration
      Prometheus scraping
      Grafana dashboards
      Docker support
    Audience
      DevOps engineers
      SRE teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Monitor CPU usage, memory, disk I/O, and network traffic on a Linux server using Prometheus and Grafana.

USE CASE 2

Add hardware temperature and fan speed monitoring to an existing Prometheus observability stack.

USE CASE 3

Enable or disable specific metric collectors via command-line flags to reduce noise from unused subsystems.

USE CASE 4

Run Node Exporter in Docker with the correct volume mounts to expose host system metrics rather than container-only metrics.

What is it built with?

GoPrometheusLinux

How does it compare?

prometheus/node_exporterjguer/yaygithub/gh-ost
Stars13,40513,44813,338
LanguageGoGoGo
Setup difficultymoderatemoderatemoderate
Complexity3/52/54/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Must run on the host machine to read kernel interfaces directly, Docker users need specific volume mounts or the metrics reflect only the container.

So what is it?

Node Exporter is a small program that collects hardware and system statistics from a Linux or Unix server and publishes them in a format that Prometheus can read. Prometheus is a monitoring system commonly used to track the health of servers and applications. Node Exporter acts as the bridge between the server's own metrics and the Prometheus collector. Once running, Node Exporter listens on port 9100 by default and makes hundreds of system metrics available over HTTP. You point your Prometheus server at that address, and it scrapes the data on a regular schedule. From there the data can be visualized in tools like Grafana. The information it collects comes from built-in modules called collectors. By default it enables a wide set covering: CPU usage and frequency, memory usage, disk read and write statistics, filesystem space, network traffic by interface, load averages, hardware sensor readings such as temperatures and fan speeds, and many more. You can turn collectors on or off with command-line flags, and some collectors let you include or exclude specific devices using filter patterns. The project is designed to run on the host machine, not inside a container, because it needs to read the host kernel interfaces directly. If you need to run it in Docker, the README provides the specific flags and volume mounts required to give the container access to the host system rather than just the container's own view. For Windows there is a separate companion project called Windows Exporter. NVIDIA GPU metrics are covered by a different exporter as well.

Copy-paste prompts

Prompt 1
How do I install and run Node Exporter on a Linux server and configure Prometheus to scrape metrics from it?
Prompt 2
Show me the Docker run command for Node Exporter with the flags and volume mounts needed to expose host system metrics.
Prompt 3
How do I enable or disable specific collectors in Node Exporter, for example enabling thermal zone data while disabling wifi?
Prompt 4
What Prometheus metrics does Node Exporter expose for disk I/O and how do I write a PromQL query to alert on high write latency?
Prompt 5
How do I import a Grafana dashboard for Node Exporter and connect it to my Prometheus data source?

Frequently asked questions

What is node_exporter?

A small Go program that collects hundreds of hardware and OS metrics from a Linux server, CPU, memory, disk, network, and exposes them on an HTTP endpoint for Prometheus to scrape and Grafana to visualize.

What language is node_exporter written in?

Mainly Go. The stack also includes Go, Prometheus, Linux.

How hard is node_exporter to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is node_exporter for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.