- Refactored README.md, getting-started.md, quick-reference.md - Enhanced setup-homelab.sh with 9-step automated process - Created services-overview.md with all stacks - Added comprehensive documentation for 57 services in docs/service-docs/ - All services include: overview, configuration, resources, educational content - Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks - Educational focus with links to tutorials, videos, and guides
3.8 KiB
3.8 KiB
Node Exporter - System Metrics
Table of Contents
- Overview
- What is Node Exporter?
- Why Use Node Exporter?
- Configuration in AI-Homelab
- Official Resources
- Docker Configuration
Overview
Category: Metrics Exporter
Docker Image: prom/node-exporter
Default Stack: monitoring.yml
Purpose: Export host system metrics
Ports: 9100
What is Node Exporter?
Node Exporter is a Prometheus exporter for hardware and OS metrics. It exposes CPU, memory, disk, network, and dozens of other system metrics in Prometheus format. Essential for monitoring your server health.
Key Features
- Hardware Metrics: CPU, memory, disk, network
- OS Metrics: Load, uptime, processes
- Filesystem: Disk usage, I/O
- Network: Traffic, errors, connections
- Temperature: CPU/disk temps (if available)
- Lightweight: Minimal overhead
- Standard: Official Prometheus exporter
Why Use Node Exporter?
- Essential: Core system monitoring
- Comprehensive: 100+ metrics
- Standard: Official Prometheus exporter
- Lightweight: Low resource usage
- Reliable: Battle-tested
- Grafana Dashboards: Many pre-made
Configuration in AI-Homelab
Node Exporter runs on host network mode to access system metrics.
Official Resources
- GitHub: https://github.com/prometheus/node_exporter
- Metrics: https://github.com/prometheus/node_exporter#enabled-by-default
Docker Configuration
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
restart: unless-stopped
network_mode: host
pid: host
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--path.rootfs=/host'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/host:ro,rslave
Note: Uses network_mode: host to access system metrics directly.
Metrics Available
CPU
node_cpu_seconds_total- CPU time per modenode_load1- Load average (1 minute)node_load5- Load average (5 minutes)node_load15- Load average (15 minutes)
Memory
node_memory_MemTotal_bytes- Total memorynode_memory_MemFree_bytes- Free memorynode_memory_MemAvailable_bytes- Available memorynode_memory_Buffers_bytes- Buffer cachenode_memory_Cached_bytes- Page cache
Disk
node_filesystem_size_bytes- Filesystem sizenode_filesystem_free_bytes- Free spacenode_filesystem_avail_bytes- Available spacenode_disk_read_bytes_total- Bytes readnode_disk_written_bytes_total- Bytes written
Network
node_network_receive_bytes_total- Bytes receivednode_network_transmit_bytes_total- Bytes transmittednode_network_receive_errors_total- Receive errorsnode_network_transmit_errors_total- Transmit errors
Summary
Node Exporter provides system metrics offering:
- CPU usage and load
- Memory usage
- Disk space and I/O
- Network traffic
- System uptime
- 100+ other metrics
- Prometheus format
- Free and open-source
Perfect for:
- System health monitoring
- Resource usage tracking
- Capacity planning
- Performance analysis
- Server dashboards
Key Points:
- Official Prometheus exporter
- Runs on port 9100
- Host network mode
- Exports 100+ metrics
- Grafana dashboard 1860
- Very lightweight
- Essential for monitoring
Remember:
- Add to Prometheus scrape config
- Import Grafana dashboard 1860
- Monitor disk space
- Watch CPU and memory
- Network metrics valuable
- Low overhead
Node Exporter monitors your server health!