84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
# Prometheus & Grafana Monitoring Hub
|
|
|
|
This folder contains the configuration for the centralized monitoring stack running on the Homelab VM.
|
|
|
|
## Folder Structure
|
|
|
|
```
|
|
prometheus_grafana_hub/
|
|
├── dashboards/ # Grafana dashboard JSON files
|
|
│ ├── infrastructure-overview.json # Fleet-wide status of all devices
|
|
│ ├── node-details.json # Detailed per-host metrics
|
|
│ ├── synology-monitoring.json # Synology NAS SNMP metrics
|
|
│ └── node-exporter.json # Full Node Exporter dashboard
|
|
├── snmp-configs/ # SNMP Exporter configurations
|
|
│ └── snmp_synology.yml # Synology NAS SNMP config
|
|
├── docker-compose/ # Docker compose files for remote hosts
|
|
│ ├── atlantis-docker-compose.yml
|
|
│ ├── calypso-docker-compose.yml
|
|
│ ├── setillo-docker-compose.yml
|
|
│ ├── concord-nuc-docker-compose.yml
|
|
│ └── guava-docker-compose-node-exporter.yml
|
|
├── docker-compose.homelab-vm.yml # Main stack compose (Homelab VM)
|
|
├── prometheus.yml # Prometheus scrape configuration
|
|
├── Dockerfile # Custom Prometheus image (if needed)
|
|
└── README.md
|
|
```
|
|
|
|
## Dashboards
|
|
|
|
| Dashboard | UID | Description |
|
|
|-----------|-----|-------------|
|
|
| Infrastructure Overview | `infrastructure-overview-v2` | Fleet status, CPU, Memory, Disk, Network for all hosts |
|
|
| Node Details | `node-details-v2` | Per-REDACTED_APP_PASSWORD CPU breakdown, per-core usage, memory details, disk I/O |
|
|
| Synology Monitoring | `synology-dashboard-v2` | Synology NAS CPU, Memory, Load, Uptime via SNMP |
|
|
| Node Exporter Full | `rYdddlPWk` | Comprehensive node exporter metrics |
|
|
|
|
## SNMP Configuration
|
|
|
|
The `snmp_synology.yml` config is deployed to each Synology NAS at:
|
|
- **Atlantis**: `/volume2/metadata/docker/snmp/snmp.yml`
|
|
- **Calypso**: `/volume1/docker/snmp/snmp.yml`
|
|
- **Setillo**: `/volume1/docker/snmp/snmp.yml`
|
|
|
|
## Monitored Hosts
|
|
|
|
### Node Exporter Targets
|
|
- homelab-node (100.67.40.126:9100)
|
|
- atlantis-node (100.83.230.112:9100)
|
|
- calypso-node (100.103.48.78:9100)
|
|
- setillo-node (100.125.0.20:9100)
|
|
- concord-nuc-node (100.72.55.21:9100)
|
|
- proxmox-node (100.87.12.28:9100)
|
|
- truenas-node (100.75.252.64:9100)
|
|
- raspberry-pis (100.77.151.40:9100)
|
|
|
|
### SNMP Targets (Synology)
|
|
- atlantis-snmp (100.83.230.112)
|
|
- calypso-snmp (100.103.48.78)
|
|
- setillo-snmp (100.125.0.20)
|
|
|
|
## Deployment
|
|
|
|
### Homelab VM (Main Stack)
|
|
|
|
The main monitoring stack runs on Homelab VM:
|
|
```bash
|
|
cd ~/docker/monitoring
|
|
|
|
# Using the compose file from this repo:
|
|
docker-compose -f docker-compose.homelab-vm.yml up -d
|
|
|
|
# Or if already deployed:
|
|
docker-compose up -d
|
|
```
|
|
|
|
**Services:**
|
|
- **Grafana**: http://homelab:3300 (admin / set via GF_SECURITY_ADMIN_PASSWORD)
|
|
- **Prometheus**: http://homelab:9090
|
|
- **Node Exporter**: Runs in host network mode on port 9100
|
|
|
|
### Remote Hosts
|
|
|
|
Each remote host runs node-exporter and/or snmp-exporter as specified in the `docker-compose/` folder.
|