monitoring-datenfluss: render-freundlich neu (kurze Labels, TB); SNMP-XGS30-Zuordnung korrigiert (rpp1, nicht NAS); smokeping + Standort-Bezüge ergänzt

This commit is contained in:
ak
2026-06-23 05:56:25 +00:00
parent 524f19b63f
commit ac3aa9a7f1

View File

@@ -1,60 +1,51 @@
# CK Monitoring — Messpunkte, Methoden & Darstellung # CK Monitoring — Messpunkte, Methoden & Darstellung
Übersicht: **was** wird **wo** **wie** gemessen und **wo** dargestellt. Ü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 ```mermaid
flowchart LR flowchart TB
%% ===================== MESSPUNKTE ===================== subgraph A["Standort A · Pferdebachstr (40er)"]
subgraph StdA["Standort A · Pferdebachstr · 10.128.40.x"] XGS40["XGS-40"]
XGS40["Sophos XGS-40"] rpp1["rpp1<br/>Probe + Syslog-Relay"]
rpp1["rpp1 (Raspberry Pi)<br/>blackbox :9115<br/>snmp :9116<br/>node :9100<br/>rsyslog-Relay"]
end end
subgraph StdB["Standort B · Ruhrstr · 10.128.30.x"] subgraph B["Standort B · Ruhrstr (30er)"]
XGS30["Sophos XGS-30"] XGS30["XGS-30"]
NAS["NAS-CRK-02 (Synology DS925+)<br/>blackbox :9115 (Docker)<br/>seit 22.06.2026"] NAS["NAS-CRK-02<br/>Probe: blackbox + smokeping"]
end end
subgraph Heim["Heimnetz / Referenz · 192.168.178.x"] subgraph H["Heimnetz (Referenz)"]
Pi5["raspip5<br/>blackbox :9115<br/>node · fritzbox · sungrow"] Pi5["raspip5<br/>Probe"]
end
subgraph Ext["Externe Sicht (vom VPS)"]
Gatus["Gatus — 14 Endpunkt-Checks"]
end end
%% ===================== SAMMLUNG (VPS) =====================
subgraph VPS["VPS sck-debian-nbg — Monitoring-Stack"]
Prom[("Prometheus")] Prom[("Prometheus")]
Loki[("Loki / Promtail")] Loki[("Loki")]
Graf["Grafana"]
AM["Alertmanager"] AM["Alertmanager"]
end Push["ntfy + E-Mail"]
%% ===================== DARSTELLUNG ===================== rpp1 -->|Metriken| Prom
subgraph Graf["Grafana"] NAS -->|Metriken| Prom
KLV["KLV-Dashboard<br/>40er ↔ 30er (symmetrisch)"] Pi5 -->|Metriken| Prom
Netz["Netzwerk · Standorte · System<br/>(XGS, WLAN-APs, Syslog, Latenz, PV)"] XGS40 -. SNMP .-> rpp1
end XGS30 -. SNMP .-> rpp1
ntfy["ntfy-ak (Push)"] XGS40 -->|Syslog| rpp1
GMX["GMX (E-Mail)"] rpp1 -->|Syslog| Loki
XGS30 -->|Syslog| Loki
%% ===================== FLÜSSE ===================== Prom --> Graf
rpp1 -. "HTTP/ICMP/DNS/DNS-MS · SNMP XGS-40+30 · AP-Ping 40er" .-> Prom Loki --> Graf
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
Prom --> AM Prom --> AM
AM -->|Push| ntfy AM --> Push
AM -->|E-Mail| GMX
``` ```
> **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 ## 2. Messmatrix — was / wo / wie / Darstellung
| Messung | Wo (Messpunkt) | Wie (Methode / Job) | Ziele | Dargestellt in | | 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" | | 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 | | 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) | | 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" | | 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` | | 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 | | 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" | | 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 | | 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 ```mermaid
flowchart LR flowchart LR
subgraph PA["Prober Standort A · rpp1"] rpp1["rpp1 · Std A"]
a1["blackbox-icmp-remote"] NAS["NAS-CRK-02 · Std B"]
a2["blackbox-http-remote"]
a3["blackbox-dns(-ms)-remote"] rpp1 --> bb40["blackbox 40er"]
a4["blackbox-ap-ping (40er)"] rpp1 --> snmp40["SNMP XGS-40"]
a5["SNMP XGS-40 (Port1)"] rpp1 --> snmp30["SNMP XGS-30"]
end NAS --> bb30["blackbox 30er"]
subgraph PB["Prober Standort B · NAS-CRK-02"] NAS --> smoke["smokeping 30er"]
b1["blackbox-icmp-ruhrstr"]
b2["blackbox-http-ruhrstr"] bb40 --> R40["KLV-Zeile 40er"]
b3["blackbox-dns-ruhrstr"] snmp40 --> R40
b4["blackbox-ap-ping-ruhrstr (30er, lokal)"] snmp30 --> R30["KLV-Zeile 30er"]
b5["SNMP XGS-30 (Port1)"] bb30 --> R30
end smoke --> R30
subgraph K["KLV-Dashboard ck-netze-klv-2026"]
r40["Zeile 40er:<br/>Internet · MS Cloud · Tempo · DNS · WAN · APs"]
r30["Zeile 30er:<br/>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
``` ```
`snmp30` hängt am **rpp1** (Standort A), speist aber die **30er-Zeile** — das ist die einzige Cross-Site-Abhängigkeit.
## Hinweise ## 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). - **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 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.) - **„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.)
- **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`. - **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`.