feat(infra): auto-discovered node metrics (CPU, RAM, Disk) and fully dynamic dashboard

- Add node-exporter container for host metrics (CPU, RAM, Disk)
- SVG gauge charts rendered server-side from Prometheus data
- Auto-detect compose project name from Docker labels
- Auto-detect web services via traefik.* labels for quick links
- Remove all hardcoded service name filters
- Dynamic system name based on compose project
This commit is contained in:
asepharyana
2026-07-23 05:31:05 +07:00
parent 4f15cafc02
commit 9a48a49f21
4 changed files with 330 additions and 159 deletions
+17
View File
@@ -56,6 +56,23 @@ services:
- ../../infra/otel/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- /prometheus
# ── Node Exporter (Host Metrics: CPU, RAM, Disk) ──
node-exporter:
container_name: node-exporter
image: prom/node-exporter:latest
restart: always
networks:
app-shared-net:
aliases:
- node-exporter
command:
- '--web.listen-address=0.0.0.0:9100'
- '--path.rootfs=/host'
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
volumes:
- /:/host:ro,rslave
# ── Custom Dashboard (nginx:alpine) ──
dashboard:
container_name: dashboard