Monitoring Stack Overview

← Back to Index

IP: 192.168.1.XXX | Stack: monitoring


Overview

Full metrics, alerting, and visualization stack deployed on ProxMoxBox with Node Exporter on Pi5.


Access URLs

ServiceURLPurpose
Grafanahttp://192.168.1.XXX:3030Dashboards & visualization
Prometheushttp://192.168.1.XXX:9090Metrics database
Alertmanagerhttp://192.168.1.XXX:9093Alert routing & notifications
Lokihttp://192.168.1.XXX:3101Log aggregation
Node Exporter (ProxMox)http://192.168.1.XXX:9100System metrics
Node Exporter (Pi5)http://192.168.1.XXX:9100System metrics
cAdvisorhttp://192.168.1.XXX:8081Container metrics

Architecture

┌─────────────┐
│   Grafana   │ ← Dashboards & Visualization
└──────┬──────┘
       │
       ├─────→ Prometheus ← Metrics (Node Exporter, cAdvisor)
       └─────→ Loki       ← Logs (Promtail)
                  │
                  └─→ Alertmanager → Discord Notifications

Components

  • Prometheus - Time-series metrics database, scrapes exporters
  • Grafana - Visualization and dashboards
  • Alertmanager - Alert routing and Discord notifications
  • Loki - Log aggregation (with Promtail collectors)
  • Node Exporter - System metrics (CPU, RAM, disk, network)
  • cAdvisor - Docker container metrics
  • SNMP Exporter - NAS network metrics

Stack Location

/opt/monitoring/
├── docker-compose.yaml
├── .env                          # GRAFANA_PASSWORD, DISCORD_WEBHOOK
├── alertmanager/
│   └── alertmanager.yml          # Discord routing config
├── prometheus/
│   ├── prometheus.yml            # Scrape configs
│   └── alerts.yml                # Alert rules
├── loki/
│   └── loki-config.yml
├── promtail/
│   └── promtail-config.yml
└── grafana/
    └── provisioning/
        ├── datasources/
        │   ├── prometheus.yml
        │   └── loki.yml
        └── dashboards/
            ├── dashboards.yml
            └── json/
                ├── homelab-overview.json
                ├── docker-containers.json
                └── loki-logs.json