diff --git a/monitoring-datenfluss.md b/monitoring-datenfluss.md index bd76c95..1a8bf86 100644 --- a/monitoring-datenfluss.md +++ b/monitoring-datenfluss.md @@ -1,60 +1,51 @@ # CK Monitoring — Messpunkte, Methoden & Darstellung Übersicht: **was** wird **wo** **wie** gemessen und **wo** dargestellt. -Stand 2026-06-22 (4. Messpunkt NAS-CRK-02 / Ruhrstr. ergänzt). +Stand 2026-06-23 (NAS-CRK-02 Ruhrstr. mit blackbox + smokeping). -## 1. Gesamtbild — vom Messpunkt zur Anzeige +## 1. Datenfluss — vom Messpunkt zur Anzeige + +Kurze Kantenbeschriftungen bewusst gehalten (Details siehe Matrix unten), damit es in der Gitea-Web-Ansicht sauber rendert. ```mermaid -flowchart LR - %% ===================== MESSPUNKTE ===================== - subgraph StdA["Standort A · Pferdebachstr · 10.128.40.x"] - XGS40["Sophos XGS-40"] - rpp1["rpp1 (Raspberry Pi)
blackbox :9115
snmp :9116
node :9100
rsyslog-Relay"] +flowchart TB + subgraph A["Standort A · Pferdebachstr (40er)"] + XGS40["XGS-40"] + rpp1["rpp1
Probe + Syslog-Relay"] end - subgraph StdB["Standort B · Ruhrstr · 10.128.30.x"] - XGS30["Sophos XGS-30"] - NAS["NAS-CRK-02 (Synology DS925+)
blackbox :9115 (Docker)
seit 22.06.2026"] + subgraph B["Standort B · Ruhrstr (30er)"] + XGS30["XGS-30"] + NAS["NAS-CRK-02
Probe: blackbox + smokeping"] end - subgraph Heim["Heimnetz / Referenz · 192.168.178.x"] - Pi5["raspip5
blackbox :9115
node · fritzbox · sungrow"] - end - subgraph Ext["Externe Sicht (vom VPS)"] - Gatus["Gatus — 14 Endpunkt-Checks"] + subgraph H["Heimnetz (Referenz)"] + Pi5["raspip5
Probe"] end - %% ===================== SAMMLUNG (VPS) ===================== - subgraph VPS["VPS sck-debian-nbg — Monitoring-Stack"] - Prom[("Prometheus")] - Loki[("Loki / Promtail")] - AM["Alertmanager"] - end + Prom[("Prometheus")] + Loki[("Loki")] + Graf["Grafana"] + AM["Alertmanager"] + Push["ntfy + E-Mail"] - %% ===================== DARSTELLUNG ===================== - subgraph Graf["Grafana"] - KLV["KLV-Dashboard
40er ↔ 30er (symmetrisch)"] - Netz["Netzwerk · Standorte · System
(XGS, WLAN-APs, Syslog, Latenz, PV)"] - end - ntfy["ntfy-ak (Push)"] - GMX["GMX (E-Mail)"] - - %% ===================== FLÜSSE ===================== - rpp1 -. "HTTP/ICMP/DNS/DNS-MS · SNMP XGS-40+30 · AP-Ping 40er" .-> Prom - NAS -. "HTTP/ICMP/DNS · AP-Ping 30er (lokal)" .-> Prom - Pi5 -. "HTTP/ICMP/DNS (Referenz) · Host/PV/FritzBox" .-> Prom - Gatus --> Prom - - XGS40 == "Syslog" ==> rpp1 == "TCP 5514" ==> Loki - XGS30 == "Syslog UDP 1514" ==> Loki - - Prom --> KLV - Prom --> Netz - Loki --> Netz + rpp1 -->|Metriken| Prom + NAS -->|Metriken| Prom + Pi5 -->|Metriken| Prom + XGS40 -. SNMP .-> rpp1 + XGS30 -. SNMP .-> rpp1 + XGS40 -->|Syslog| rpp1 + rpp1 -->|Syslog| Loki + XGS30 -->|Syslog| Loki + Prom --> Graf + Loki --> Graf Prom --> AM - AM -->|Push| ntfy - AM -->|E-Mail| GMX + AM --> Push ``` +> **Bezug der beiden Standorte zueinander** (wichtig, weil *nicht* symmetrisch): +> - **Lokal je Standort:** blackbox-Probes (Internet/MS/DNS/APs), beim 30er zusätzlich smokeping. +> - **Cross-Site:** Die **Firewall-SNMP beider** XGS (auch die des 30er) holt **rpp1** am Standort A — der NAS macht *kein* SNMP. +> - **Syslog:** 40er läuft **über rpp1** zum VPS, 30er geht **direkt** zum VPS. + ## 2. Messmatrix — was / wo / wie / Darstellung | Messung | Wo (Messpunkt) | Wie (Methode / Job) | Ziele | Dargestellt in | @@ -63,51 +54,40 @@ flowchart LR | Microsoft Cloud erreichbar | Std A · Std B · Heim | blackbox `http_2xx` | login.microsoftonline, Business Central, CRM, Outlook | KLV, „Microsoft Cloud Services" | | DNS-Auflösung | Std A · Std B · Heim | blackbox `dns_resolve` / `dns_ms_*` | XGS-40/30 :53, Google, FritzBox | KLV, DNS-Panels | | Internet-Tempo | Std A · Std B · Heim | blackbox HTTP-Dauer | www.google.com | KLV (Gauge) | -| WAN-Auslastung | XGS-40 · XGS-30 | SNMP (rpp1 :9116) `ifHCInOctets` Port1 | beide Firewalls | KLV, „Sophos XGS Firewall" | +| WAN-Auslastung | XGS-40 · XGS-30 | **SNMP von rpp1** (`:9116`) `ifHCInOctets` Port1 | beide Firewalls | KLV, „Sophos XGS Firewall" | | WLAN-APs online | 40er: von rpp1 · 30er: **lokal vom NAS** | blackbox `icmp_ping` | 5 APs (40er) · 8 APs (30er) | KLV, „Sophos WLAN Access Points" | -| WAN-Stabilität / VoIP-Microcuts | Std B (NAS) | **smokeping_prober** (Dauer-Ping 1/s, Hop-Leiter) | 10.128.30.1 → 192.168.178.1 → 8.8.8.8/1.1.1.1/9.9.9.9 | „Ruhrstr WAN-Stabilität" + ntfy-Alarm `ruhrstr_wan` | -| Host-Metriken | rpp1 · Pi5 · VPS | node-exporter :9100 | CPU/RAM/Disk/Temp | „Server-Übersicht", System | +| WAN-Stabilität / VoIP-Microcuts | Std B (NAS) | **smokeping_prober** (Dauer-Ping 1/s, Hop-Leiter) | 10.128.30.1 → 192.168.178.1 → 8.8.8.8/1.1.1.1/9.9.9.9 | „Ruhrstr WAN-Stabilität" + ntfy `ruhrstr_wan` | +| Host-Metriken | rpp1 · Pi5 · VPS | node-exporter `:9100` | CPU/RAM/Disk/Temp | „Server-Übersicht", System | | Firewall-Logs | XGS-40→rpp1→VPS · XGS-30→VPS | rsyslog → Promtail → Loki | Syslog (Information) | „Sophos XGS Syslog" | | Externe Erreichbarkeit | VPS | Gatus (14 Endpunkte) | öffentliche Dienste | Homepage / Gatus | -## 3. Standort-Symmetrie im KLV-Dashboard +## 3. Welche Sonde speist welche KLV-Zeile -Seit 22.06.2026 misst die 30er-Zeile mit **echten lokalen Probes vom NAS** (vorher Behelf: DNS-Abfragen gegen XGS-30, gemessen von rpp1 über den VPN). Beide Standorte werden jetzt gleichwertig erfasst: +Die beiden KLV-Standort-Zeilen werden lokal je Standort gemessen — **außer** der WAN-Auslastung (SNMP), die für **beide** Standorte von rpp1 kommt: ```mermaid flowchart LR - subgraph PA["Prober Standort A · rpp1"] - a1["blackbox-icmp-remote"] - a2["blackbox-http-remote"] - a3["blackbox-dns(-ms)-remote"] - a4["blackbox-ap-ping (40er)"] - a5["SNMP XGS-40 (Port1)"] - end - subgraph PB["Prober Standort B · NAS-CRK-02"] - b1["blackbox-icmp-ruhrstr"] - b2["blackbox-http-ruhrstr"] - b3["blackbox-dns-ruhrstr"] - b4["blackbox-ap-ping-ruhrstr (30er, lokal)"] - b5["SNMP XGS-30 (Port1)"] - end - subgraph K["KLV-Dashboard ck-netze-klv-2026"] - r40["Zeile 40er:
Internet · MS Cloud · Tempo · DNS · WAN · APs"] - r30["Zeile 30er:
Internet · MS Cloud · Tempo · DNS · WAN · APs"] - end - a1 --> r40 - a2 --> r40 - a3 --> r40 - a4 --> r40 - a5 --> r40 - b1 --> r30 - b2 --> r30 - b3 --> r30 - b4 --> r30 - b5 --> r30 + rpp1["rpp1 · Std A"] + NAS["NAS-CRK-02 · Std B"] + + rpp1 --> bb40["blackbox 40er"] + rpp1 --> snmp40["SNMP XGS-40"] + rpp1 --> snmp30["SNMP XGS-30"] + NAS --> bb30["blackbox 30er"] + NAS --> smoke["smokeping 30er"] + + bb40 --> R40["KLV-Zeile 40er"] + snmp40 --> R40 + snmp30 --> R30["KLV-Zeile 30er"] + bb30 --> R30 + smoke --> R30 ``` +`snmp30` hängt am **rpp1** (Standort A), speist aber die **30er-Zeile** — das ist die einzige Cross-Site-Abhängigkeit. + ## Hinweise -- **Prober-Adressen:** rpp1 `10.128.40.10:9115` (+SNMP `:9116`) · NAS-CRK-02 `10.128.30.3:9115` · Pi5 `10.100.0.2:9115`. Alle werden vom VPS-Prometheus gescrapet (Std A/B über VPN). -- **„VPS extern" ist aktuell keine Blackbox-Perspektive:** Der blackbox-exporter-Container auf dem VPS läuft (`127.0.0.1:9115`), ist aber **nicht** als Prometheus-Probe verdrahtet. Die externe Erreichbarkeitssicht liefert **Gatus**. (Offen: VPS-Blackbox als echte 4. Latenz-Perspektive verdrahten oder Container entfernen.) -- **Quellen:** Scrape-Jobs `/data/docker/monitoring/prometheus/prometheus.yml`; NAS-Sonde `dokumentation/15_systeme/68_nas_crk02_ruhrstr.md`; KLV-Beschreibung `dokumentation/10_monitoring/06_klv_dashboard_beschreibung.md`. +- **Prober-Adressen:** rpp1 `10.128.40.10:9115` (+SNMP `:9116`) · NAS-CRK-02 `10.128.30.3:9115` (blackbox) + `:9374` (smokeping) · Pi5 `10.100.0.2:9115`. Scrape vom VPS-Prometheus (Std A/B über VPN). +- **„VPS extern" ist keine Blackbox-Perspektive:** Der blackbox-Container auf dem VPS läuft (`127.0.0.1:9115`), ist aber **nicht** verdrahtet. Externe Sicht = **Gatus**. (Offen: verdrahten oder Container entfernen.) +- **Rendering:** Gitea rendert Mermaid clientseitig ohne Layout-Einstellung — saubere Darstellung kommt nur über render-freundliches Mermaid (kurze Kantenlabels, wenige mehrzeilige Knoten, `TB`-Richtung). Daher hier bewusst schlank gehalten. +- **Quellen:** `prometheus.yml`, `alerts.yml`; `dokumentation/15_systeme/68_nas_crk02_ruhrstr.md`; `dokumentation/10_monitoring/06_klv_dashboard_beschreibung.md`.