Repolode
prometheus

prometheus/node_exporter

Prometheus exporter that exposes hardware and OS metrics from *NIX kernels, using pluggable collectors.

Stars
13,877
Forks
2,732
Open issues
327
Last commit
15 hours ago

What is it?

node_exporter is a Prometheus exporter written in Go that collects hardware and operating system metrics from *NIX kernels and serves them over HTTP on port 9100 by default. It is built around pluggable collectors: each one reads a particular source, such as /proc, /sys, or BSD sysctls, and exposes its metrics for Prometheus to scrape.

Collectors cover CPU, memory, disk I/O, filesystems, network interfaces, load average, systemd, hwmon sensors, NFS, ZFS, and more. Many are enabled by default and can be toggled with --collector.<name> or --no-collector.<name> flags, and a set of disabled-by-default collectors is available for heavier or high-cardinality data. Support varies by operating system, with Linux having the broadest coverage and Darwin, FreeBSD, OpenBSD, and Solaris supported by a subset of collectors.

The project covers containerized deployment as well, where the host root filesystem is bind-mounted and accessed through --path.rootfs. For Windows hosts, the README recommends a separate Windows exporter.

Key features

  • 01Exposes CPU, memory, disk, filesystem, and network metrics from Linux and other *NIX systems.
  • 02Pluggable collectors that can be enabled or disabled with command-line flags.
  • 03Include and exclude filters for devices, mount points, and other collector-specific patterns.
  • 04Textfile collector for exporting custom metrics from batch jobs or static machine labels.
  • 05Optional TLS endpoint via a web configuration file.

Use cases

  • Monitoring the host metrics of a fleet of Linux servers with Prometheus.
  • Tracking disk space, I/O, and filesystem health on storage nodes.
  • Exposing batch job completion times or machine roles via the textfile collector.
  • Monitoring hardware sensors, thermal data, or NVMe devices on bare-metal machines.

Quick start

  1. 1

    Run the official Docker image with host networking and PID namespace, mounting the host root filesystem

    docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host
  2. 2

    Install from the Linux distribution package (EPEL on RHEL, CentOS Stream, Rocky, AlmaLinux and Fedora)

Things to know

  • Built for *NIX kernels only; the README recommends the separate Windows exporter for Windows users.
  • Running it in a container needs extra flags and bind mounts to monitor the host rather than the container.

In collections

Topics

FAQ

What is node_exporter?
Prometheus exporter that exposes hardware and OS metrics from *NIX kernels, using pluggable collectors. node_exporter is a Prometheus exporter written in Go that collects hardware and operating system metrics from *NIX kernels and serves them over HTTP on port 9100 by default. It is built around pluggable collectors: each one reads a particular source, such as /proc, /sys, or BSD sysctls, and exposes its metrics for Prometheus to scrape.
Is node_exporter free to use? What license does it have?
node_exporter is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is node_exporter still maintained?
Actively maintained. The last commit to node_exporter was on Oct 24, 2026.
What can I use node_exporter for?
Monitoring the host metrics of a fleet of Linux servers with Prometheus. Tracking disk space, I/O, and filesystem health on storage nodes. Exposing batch job completion times or machine roles via the textfile collector. Monitoring hardware sensors, thermal data, or NVMe devices on bare-metal machines.
How do I install node_exporter?
Run the official Docker image with host networking and PID namespace, mounting the host root filesystem: docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host Install from the Linux distribution package (EPEL on RHEL, CentOS Stream, Rocky, AlmaLinux and Fedora)
Where can I get node_exporter?
The source code and installation instructions are on GitHub: https://github.com/prometheus/node_exporter

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects