Node exporter is a Prometheus exporter that collects hardware and operating system metrics from Unix-like systems, written in Go with pluggable metric collectors.
The tool solves the problem of exposing machine-level observability data to Prometheus monitoring systems. It gathers metrics from the kernel and hardware through a set of modular collectors that can be individually enabled or disabled. The exporter listens on HTTP port 9100 by default and exposes metrics in Prometheus format. Its pluggable architecture allows operators to select only the collectors relevant to their infrastructure, reducing overhead and noise.
Adoption suits teams running Prometheus-based monitoring on Linux systems who need visibility into host-level resource utilization, hardware status, and operating system behavior. The tool is available through standard Linux distribution package managers on Enterprise Linux variants and Fedora, and can be deployed via Ansible automation or in containerized environments with appropriate namespace and mount configuration. For Windows environments, the README recommends the Windows exporter instead. GPU metrics require a separate tool, prometheus-dcgm. Containerized deployments require careful configuration to monitor the host system rather than the container itself, including bind-mounting host filesystems and potentially adding Linux capabilities depending on which collectors are needed.
The project's issue tracker is dominated by merge-blocker labels, indicating that blocking issues receive focused attention before changes are merged.