Complete documentation refactoring with 57 service docs
- 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
This commit is contained in:
138
docs/service-docs/node-exporter.md
Normal file
138
docs/service-docs/node-exporter.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# Node Exporter - System Metrics
|
||||
|
||||
## Table of Contents
|
||||
- [Overview](#overview)
|
||||
- [What is Node Exporter?](#what-is-node-exporter)
|
||||
- [Why Use Node Exporter?](#why-use-node-exporter)
|
||||
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
|
||||
- [Official Resources](#official-resources)
|
||||
- [Docker Configuration](#docker-configuration)
|
||||
|
||||
## Overview
|
||||
|
||||
**Category:** Metrics Exporter
|
||||
**Docker Image:** [prom/node-exporter](https://hub.docker.com/r/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?
|
||||
|
||||
1. **Essential:** Core system monitoring
|
||||
2. **Comprehensive:** 100+ metrics
|
||||
3. **Standard:** Official Prometheus exporter
|
||||
4. **Lightweight:** Low resource usage
|
||||
5. **Reliable:** Battle-tested
|
||||
6. **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
|
||||
|
||||
```yaml
|
||||
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 mode
|
||||
- `node_load1` - Load average (1 minute)
|
||||
- `node_load5` - Load average (5 minutes)
|
||||
- `node_load15` - Load average (15 minutes)
|
||||
|
||||
### Memory
|
||||
- `node_memory_MemTotal_bytes` - Total memory
|
||||
- `node_memory_MemFree_bytes` - Free memory
|
||||
- `node_memory_MemAvailable_bytes` - Available memory
|
||||
- `node_memory_Buffers_bytes` - Buffer cache
|
||||
- `node_memory_Cached_bytes` - Page cache
|
||||
|
||||
### Disk
|
||||
- `node_filesystem_size_bytes` - Filesystem size
|
||||
- `node_filesystem_free_bytes` - Free space
|
||||
- `node_filesystem_avail_bytes` - Available space
|
||||
- `node_disk_read_bytes_total` - Bytes read
|
||||
- `node_disk_written_bytes_total` - Bytes written
|
||||
|
||||
### Network
|
||||
- `node_network_receive_bytes_total` - Bytes received
|
||||
- `node_network_transmit_bytes_total` - Bytes transmitted
|
||||
- `node_network_receive_errors_total` - Receive errors
|
||||
- `node_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!
|
||||
Reference in New Issue
Block a user