An add-on Kubernetes service that listens to the API server and exposes Prometheus metrics describing the state of objects like pods, deployments and nodes.
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
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
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
Open-source platform to query, visualize, alert on and explore metrics, logs and traces from many data sources.
Prometheus is an open-source systems and service monitoring system that collects metrics, evaluates rules, and triggers alerts.
Set of components that extends Prometheus with a global query view, long-term storage in object storage, and high availability.
An OpenTelemetry Collector distribution with programmable, expression-based pipelines for metrics, logs, traces and profiles, built with Prometheus integration in mind.
Fast, cost-effective time series database and monitoring solution that works as long-term storage and a drop-in Prometheus replacement.