# Node-Exporter Node-Exporter exposes host metrics (CPU, RAM, disk, network) to Prometheus. One instance runs per host inside its own container. **Hosts:** Dankserver + Dankclaw — **Docs:** https://prometheus.io/docs/guides/node-exporter ## Facts (from research) | Item | Value | |------|-------| | Image | `prom/node-exporter:latest` | | Port | 9100 (host) | | Network | `host` mode | | Config | `--path.procfs=/host/proc`, `--path.sysfs=/host/sys`, `--path.rootfs=/rootfs` | ## Configuration ```yaml services: node-exporter: image: prom/node-exporter:latest restart: always network_mode: host pid: host volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - --path.procfs=/host/proc - --path.sysfs=/host/sys - --path.rootfs=/rootfs ``` ## Prometheus Targets Prometheus scrapes each host's node-exporter directly: | Host | Target | |------|--------| | Dankserver | `192.168.0.235:9100` | | Dankclaw | `192.168.0.143:9100` | These scrape jobs live in the Prometheus config; see [[Prometheus]] and [[Observability]]. ## Gotchas - Requires `network_mode: host` (or a published port) so Prometheus can reach 9100. - The `/proc`, `/sys`, and root mounts must be `read-only` (`:ro`). - Do not mount the same paths on both hosts' containers; each node-exporter reflects only its own host. ## See Also - [[Prometheus]] — the scraper - [[Observability]] — the full stack