node_exporter: Prometheus exporter for machine metrics
Collects Unix system metrics for Prometheus monitoring.
Learn more about node_exporter
node_exporter is a Prometheus metrics exporter that collects hardware and operating system-level statistics from Unix-based systems and exposes them via an HTTP endpoint. It implements a modular collector architecture where individual collectors gather specific system metrics such as CPU usage, memory statistics, disk I/O, network interfaces, and filesystem information by reading from kernel interfaces like /proc and /sys on Linux systems. The exporter runs as a standalone daemon process, typically configured as a systemd service, and serves metrics in Prometheus text-based exposition format on a configurable port, defaulting to 9100. Collectors can be selectively enabled or disabled at startup to optimize resource usage and limit the scope of exported metrics, and the tool supports a textfile collector mechanism that allows custom metrics to be ingested from files written by external scripts. The lightweight design prioritizes minimal resource overhead while maintaining comprehensive coverage of system-level observability data for infrastructure monitoring.
Modular Collector Architecture
Individual collectors toggle via command-line flags to expose only required metrics. Reduces resource overhead by disabling unnecessary data collection, letting operators tailor monitoring to specific infrastructure needs.
Cross-Platform Unix Support
Runs on Linux, BSD, and other Unix-like systems with platform-specific kernel interface implementations. Accesses metrics through procfs, sysfs, and native APIs for consistent monitoring across heterogeneous environments.
Container-Aware Host Monitoring
Monitors host systems from within containers using path.rootfs and bind-mounted filesystems. Exposes true host metrics rather than container-level data, enabling Kubernetes and Docker deployments without agent installation on nodes.
import axios from 'axios';
const response = await axios.get('http://localhost:9100/metrics');
const metrics = response.data;
// Parse Prometheus text format
const lines = metrics.split('\n');
const cpuMetrics = lines.filter(line => line.startsWith('node_cpu_seconds_total'));
console.log(cpuMetrics);Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
Watchtower
Automated Docker container updates via registry polling.
GitHub Agentic Workflows
Write AI workflows in natural language markdown that execute as GitHub Actions with built-in safety controls.
OpenZFS
Enterprise filesystem with volume management, data integrity, snapshots, and compression.
Checkout
Clones repositories to workflows with configurable authentication and fetch depth.
Dockge
Self-hosted Docker Compose manager with real-time terminal streaming.