Prometheus exporter for hardware and OS metrics exposed by *NIX kernels, written in Go with pluggable metric collectors.
Node Exporter is a Prometheus exporter that collects and exposes hardware and operating system metrics from *NIX-based machines. It provides detailed insights into system performance, including CPU, memory, disk, network, and filesystem statistics. The exporter solves the problem of standardized metric collection for Prometheus monitoring stacks across diverse Unix-like systems.
DevOps engineers, SREs, and system administrators who need to monitor infrastructure using Prometheus. It's particularly valuable for teams managing Linux/BSD servers in production environments.
Developers choose Node Exporter because it's the official, battle-tested Prometheus exporter for system metrics with extensive collector support. Its pluggable architecture allows customization while maintaining reliability, and it integrates seamlessly with the Prometheus ecosystem.
Exporter for machine metrics
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Over 50 pluggable collectors for CPU, memory, disk, network, and hardware metrics, with fine-grained control via enable/disable flags and include/exclude patterns as detailed in the README tables.
Collectors are available for Linux, BSD variants, Darwin, and Solaris, with OS-specific support clearly documented, making it versatile for diverse infrastructures.
Provides Docker and Docker Compose examples with host namespace access (--net="host", --pid="host") and bind mounts for accurate host metric collection in containerized environments.
Textfile collector allows exporting custom metrics from batch jobs or static roles via local files, enabling easy extension without code changes.
Explicitly recommends the Windows exporter for Windows users, limiting its use in mixed or Windows-only environments without additional exporters.
Collectors like 'perf' and 'sysctl' are disabled by default due to high cardinality or long scrape times, requiring careful tuning and monitoring to avoid timeouts.
Docker setup requires non-standard flags (--net="host", --pid="host") and bind-mounting the root filesystem, which can be error-prone and violates some security best practices.