Sync Prometheus config with working VM102 and NAS scrape targets.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,70 @@
|
|||||||
|
# Monitoring stack — Prometheus + postgres-exporter + Grafana
|
||||||
|
# Start: cd monitoring && docker compose up -d --build
|
||||||
|
# UI: Grafana http://192.168.1.211:3002 · Prometheus http://192.168.1.211:9090
|
||||||
|
|
||||||
|
services:
|
||||||
|
prometheus:
|
||||||
|
image: prom/prometheus:v2.53.2
|
||||||
|
container_name: prometheus-homelab
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "9090:9090"
|
||||||
|
volumes:
|
||||||
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||||
|
- ./prometheus/targets:/etc/prometheus/targets:ro
|
||||||
|
- prometheus-homelab-data:/prometheus
|
||||||
|
command:
|
||||||
|
- --config.file=/etc/prometheus/prometheus.yml
|
||||||
|
- --storage.tsdb.path=/prometheus
|
||||||
|
- --web.enable-lifecycle
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
networks:
|
||||||
|
- homelab-monitor
|
||||||
|
|
||||||
|
postgres-exporter:
|
||||||
|
image: prometheuscommunity/postgres-exporter:latest
|
||||||
|
container_name: postgres-exporter
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "9187:9187"
|
||||||
|
environment:
|
||||||
|
DATA_SOURCE_NAME: "postgresql://mo:${PG_PASSWORD:-WaQTUw2t}@192.168.1.105:5433/homelab?sslmode=disable"
|
||||||
|
networks:
|
||||||
|
- homelab-monitor
|
||||||
|
|
||||||
|
grafana:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: Dockerfile.grafana
|
||||||
|
image: grafana-homelab:latest
|
||||||
|
container_name: grafana-homelab
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "3002:3000"
|
||||||
|
environment:
|
||||||
|
GF_SECURITY_ADMIN_USER: admin
|
||||||
|
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:-WaQTUw2t}
|
||||||
|
GF_USERS_DEFAULT_THEME: dark
|
||||||
|
GF_SERVER_ROOT_URL: http://192.168.1.211:3002
|
||||||
|
PG_USER: mo
|
||||||
|
PG_DATABASE: homelab
|
||||||
|
HOMELAB_PG_PASSWORD: ${PG_PASSWORD:-WaQTUw2t}
|
||||||
|
volumes:
|
||||||
|
- grafana-homelab-data:/var/lib/grafana
|
||||||
|
- ../grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro
|
||||||
|
- ../grafana/dashboards/homelab:/var/lib/grafana/dashboards/homelab:ro
|
||||||
|
- ../grafana/dashboards/imported:/var/lib/grafana/dashboards/imported:ro
|
||||||
|
depends_on:
|
||||||
|
- prometheus
|
||||||
|
networks:
|
||||||
|
- homelab-monitor
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
prometheus-homelab-data:
|
||||||
|
grafana-homelab-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
homelab-monitor:
|
||||||
|
name: homelab-monitor
|
||||||
|
driver: bridge
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Prometheus — scrape targets op Docker bridge (naast postgres-homelab, neo4j, …).
|
# Prometheus — homelab metrics (NAS stack scrapet LAN + bridge targets).
|
||||||
global:
|
global:
|
||||||
scrape_interval: 15s
|
scrape_interval: 15s
|
||||||
evaluation_interval: 15s
|
evaluation_interval: 15s
|
||||||
@@ -10,35 +10,29 @@ scrape_configs:
|
|||||||
|
|
||||||
- job_name: postgres-exporter
|
- job_name: postgres-exporter
|
||||||
static_configs:
|
static_configs:
|
||||||
- targets: ["postgres-exporter-homelab:9187"]
|
- targets: ["postgres-exporter:9187"]
|
||||||
labels:
|
labels:
|
||||||
instance: postgres-vm102
|
instance: postgres-vm102
|
||||||
|
|
||||||
# Neo4j 4.4+ enterprise metrics.prometheus.enabled → endpoint op poort 2004
|
# Neo4j Community 2026 heeft geen Prometheus :2004 — gebruik Neo4j dashboard via Postgres/Grafana SQL.
|
||||||
- job_name: neo4j
|
# Enterprise: zet server.metrics.prometheus.enabled=true en scrape :2004.
|
||||||
scrape_interval: 30s
|
|
||||||
metrics_path: /metrics
|
|
||||||
static_configs:
|
|
||||||
- targets: ["192.168.1.105:2004"]
|
|
||||||
labels:
|
|
||||||
instance: neo4j
|
|
||||||
|
|
||||||
# Proxmox VE — prometheus-pve-exporter; vul monitoring/prometheus/targets/extra.yml
|
- job_name: node-exporter
|
||||||
- job_name: proxmox-pve
|
scrape_interval: 30s
|
||||||
|
static_configs:
|
||||||
|
- targets: ["192.168.1.105:9100"]
|
||||||
|
labels:
|
||||||
|
instance: vm102-postgress
|
||||||
|
role: security
|
||||||
|
- targets: ["192.168.1.211:9100"]
|
||||||
|
labels:
|
||||||
|
instance: synology-nas
|
||||||
|
role: nas
|
||||||
|
|
||||||
|
# Proxmox: vul targets in prometheus/targets/extra.yml (prometheus-pve-exporter :9221)
|
||||||
|
- job_name: proxmox
|
||||||
scrape_interval: 30s
|
scrape_interval: 30s
|
||||||
file_sd_configs:
|
file_sd_configs:
|
||||||
- files:
|
- files:
|
||||||
- /etc/prometheus/targets/extra.yml
|
- /etc/prometheus/targets/extra.yml
|
||||||
refresh_interval: 1m
|
refresh_interval: 1m
|
||||||
|
|
||||||
# Synology / SNMP: zet targets in monitoring/prometheus/targets/snmp.yml en uncomment hieronder.
|
|
||||||
# - job_name: snmp
|
|
||||||
# scrape_interval: 60s
|
|
||||||
# metrics_path: /snmp
|
|
||||||
# params:
|
|
||||||
# module: [synology]
|
|
||||||
# static_configs:
|
|
||||||
# - targets:
|
|
||||||
# - 192.168.1.211
|
|
||||||
# labels:
|
|
||||||
# job: snmp-nas
|
|
||||||
|
|||||||
Reference in New Issue
Block a user