mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-10-28 15:51:27 +00:00
Homelab monitoring design (docs/specs/2026-10-03-external-monitoring.md): Beszel agents own the two physical hosts, prometheus-pve-exporter covers every LXC/VM via the PVE API with no guest agents, and Grafana supplies graphs. Dash needs zero code changes — JSON-path widgets already carry an Authorization header and can walk Prometheus/Beszel JSON, embed widgets iframe Grafana panels, and monitors + notification transports provide the alerting layer for unmanaged hardware like the CM834 switch. infra/monitoring/ ships compose.yaml, prometheus.yml, pve.yml.example (gitignored real file), and Grafana datasource provisioning. docs/monitoring.md documents deployment and widget recipes. Authored By: TDvorak <[email protected]> Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
32 lines
979 B
YAML
32 lines
979 B
YAML
# Prometheus scrape config for the Dash-adjacent monitoring stack.
|
|
# Adjust the host addresses to your LAN before starting.
|
|
|
|
global:
|
|
scrape_interval: 30s
|
|
evaluation_interval: 30s
|
|
|
|
scrape_configs:
|
|
# Proxmox cluster: node + every LXC/VM via the PVE API.
|
|
# No agents inside guests — pve-exporter asks the API on :8006.
|
|
- job_name: pve
|
|
metrics_path: /pve
|
|
params:
|
|
module: [default]
|
|
cluster: ["1"]
|
|
node: ["1"]
|
|
static_configs:
|
|
- targets: ["PVE_HOST:8006"] # <- your Proxmox host
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: pve-exporter:9221
|
|
|
|
# Dash itself — it exposes Prometheus-format metrics already.
|
|
- job_name: dash
|
|
metrics_path: /api/metrics
|
|
static_configs:
|
|
- targets: ["DASH_HOST:3000"] # <- wherever Dash runs (CasaOS box, etc.)
|