InfraGuard

Traffic (Netzwerk-E/A)

Stellt den ein- und ausgehenden Byte- und Paketdurchsatz je Server aus server_traffic als ECharts-Liniendiagramme dar — Daten, die die Alt-Konsole zwar erfasst, aber nie angezeigt hat.

Überblick — was der Bildschirm leistet

Infrastruktur ▸ Konnektivität und Traffic ▸ Traffic (/infra/traffic/net) ist eine schreibgeschützte Konsole, die den Netzwerk-E/A-Durchsatz jedes Servers (eingehende und ausgehende Bytes und Pakete) als je ein ECharts-Liniendiagramm pro Serverkarte darstellt.

Die Quelle ist die Alt-Tabelle server_traffic (≈1,6 Mio. Zeilen, Verbindung legacy_glory), die vom Alt-Collector check_tx.js befüllt wird. Diese Tabelle sammelt je Zeitfenster die Delta-Bytes und -Pakete für jeden Server × Richtung (eingehend/ausgehend), doch die alte stats-design-Oberfläche zeigte stets nur traffic-out aus server_status (ein einzelnes Delta ausgehender Pakete). Dieser Bildschirm legt als Erster den vollständigen Datensatz ein/aus × Bytes/Pakete offen.

Die drei Schwesterbildschirme (Port-Verbindungen, IP-Verbindungen, Traffic) teilen sich denselben TrafficController und SessionQueryService, doch nur der Traffic-Reiter liest die Durchsatz-Zeitreihe aus server_traffic statt der Sitzungsmomentaufnahme (traffic_session_ct). Deshalb verwendet er ein Bereichsfenster (1h/6h/24h) anstelle des Timers (1/5/60 Min.), den die beiden anderen nutzen.

Wann Sie ihn verwenden

Aufbau

Kopfbereich (obere Leiste)

Element Beschreibung
Metrik-Umschalter bytes | packets — färbt dieselben Daten auf Byte- bzw. Paketskala neu ein (ohne Serveranfrage)
Bereichsumschalter 1h (60) | 6h (360) | 24h (1440) — Anzeigefenster in Minuten. Die Auswahl wird in localStorage gespeichert
Zeitstempel Zeit des jüngsten Fensters (MAX aus server_traffic + Verschiebung der Anzeigezeitzone)
Aktualisieren Sofortiger erneuter Abruf (unabhängig vom 30-Sekunden-Polling)
Vollbild Blendet die obere Navigation aus und vergrößert das Kartenraster (ESC zum Verlassen)

KPI-Leiste (Ablauf: ein · aus · Pakete · Verhältnis → Hotspot → Aktualität)

KPI Bedeutung
Eingehend gesamt Summe der eingehenden Bytes am jüngsten Punkt jedes Servers
Ausgehend gesamt Summe der ausgehenden Bytes am jüngsten Punkt jedes Servers
Pakete gesamt Summe der letzten (ein+aus) Pakete jedes Servers · Einheit /window (nicht kumuliert)
Ein:Aus out ÷ in (eine Nachkommastelle), dargestellt als 1 : x. —, wenn „ein“ 0 ist
Größter Verursacher Server mit den höchsten aktuellsten ausgehenden Bytes (Hotspot)
Aktive Server Anzahl der Server, deren letzter Punkt innerhalb von 15 Min. vor dem Fensterende liegt / total. Warnt (gelb), wenn der Wert unter der Gesamtzahl liegt

Farblegende der Skala + Y-Achsenskala

Die Linien- bzw. Flächenfarbe codiert die Größenordnung des Werts (ECharts visualMap, stückweise). Überschreitet ein Wert einen Schwellenwert, ändert sich die Farbe — so erfassen Sie die Größenordnung über die Farbe.

tone bytes packets
info < 1MB < 1K
good 1–10MB 1–10K
warn 10–100MB 10–100K
crit > 100MB > 100K

Server-Traffic-Karten

Jede Karte = ein Server. Die Kopfzeile zeigt den Hostnamen sowie die aktuellen ein-/ausgehenden Bytes; der Rumpf ist ein 200 px hohes <metric-chart>-Liniendiagramm (ECharts, dynamischer Import).

Anwendung

  1. Bereich wählen — 1h, um Spitzen nachzugehen, 24h für Tagesmuster.
  2. Metrik umschalten — bytes für die Bandbreitenlast, packets für den Charakter der Verbindungen bzw. PPS.
  3. Logarithmische Achse — bei Servern mit großem Ein-/Aus-Gefälle (Web-Knoten, bei denen aus ≫ ein) hält log beide Kurven sichtbar.
  4. Karten neu anordnen — ziehen Sie die Server, die Sie interessieren, nach oben (im Browser gespeichert).
  5. Einem Hotspot nachgehen — wenn Ihnen der KPI-Server Top oder eine crit-Kurve (rot) auffällt, wechseln Sie zu Port-Verbindungen / IP-Verbindungen, um zu untersuchen, welche IP bzw. welcher Port dahintersteckt.

Der Tooltip zeigt eine HH:MM-Kopfzeile sowie den Wert jeder Reihe (ein/aus). Selbst auf schmalen Karten blenden sich die Beschriftungen der Zeitachse automatisch aus, um Überlappungen zu vermeiden (hideOverlap).

Datenquellen

server_traffic (legacy_glory · schreibgeschützt)

Spalte Zweck
server_name, server_index Serveridentität
time_window_start Beginn des Erfassungsfensters (~300 s = 5 Min. Abstand)
direction inbound | outbound
delta_bytes_count Byte-Delta dieses Fensters
delta_packet_count Paket-Delta dieses Fensters

Die Quellabfrage (TrafficRepository::serverTraffic) nutzt Parameterbindung und durchsucht nur ein enges Fenster (keine fest verdrahteten Werte, keine Stringinterpolation):

SELECT server_name, server_index, time_window_start, direction,
       delta_packet_count, delta_bytes_count
FROM   server_traffic
WHERE  time_window_start >= :since   -- (jüngstes Fenster) − Bereich
ORDER  BY time_window_start
LIMIT  6000;

Anker = MAX(time_window_start) (indizierter MAX → günstig). since = anchor − range minutes.

Normalisierung auf Minutenraster (Korrektur des Sägezahns)

Der Collector check_tx.js versieht eingehend und ausgehend innerhalb seiner Schleife mit getrennten new Date()-Aufrufen, sodass die Werte von time_window_start innerhalb desselben 5-Minuten-Zyklus um 1–2 Sekunden auseinanderliegen (z. B. :02 ein / :03 aus). Eine Gruppierung nach exaktem Zeitstempel erfasst je Zeitpunkt nur eine der beiden Richtungen und lässt die andere auf 0 — das ergibt ein Sägezahndiagramm.

Korrektur: SessionQueryService::reshapeNet rundet die Zeitstempel in ein Minutenraster (round(ts/60)*60), sodass ein- und ausgehend zu einem einzigen Punkt verschmelzen. Das Fensterintervall (300 s) ist weit größer als das Raster (60 s), daher kollidieren benachbarte Fenster nie.

Verschiebung der Anzeigezeitzone

Da die Speicherzeit der Alt-Datenbank von der Anzeigezeit abweichen kann (beobachtet wurde ein Versatz von ~9 Std.), werden die Werte über OpsPolicy::trafficTzOffsetSec() ausschließlich für die Anzeige verschoben (Zeitstempel, Zeitachse, Zeitstempel der Reihen). Die SQL-Grenzen (min/max) werden NICHT verschoben — die Abfrage verwendet die rohe Alt-Zeit.

Cache · Polling

Zugriff

Fehlerbehebung und FAQ

F. Ich sehe nur „Keine Verkehrsmessungen“. Das bedeutet, dass server_traffic kein aktuelles Zeitfenster enthält. Prüfen Sie, ob der Collector check_tx.js läuft und die Verbindung legacy_glory gültig ist. Ist latestTrafficWindow() (MAX) null, bleiben die Karten leer und die KPIs zeigen 0.

F. Ein Server zeichnet nur einen kurzen Stummel am linken Rand. Das ist beabsichtigt. Die Zeitachse ist auf ein gemeinsames Fenster fixiert, daher wird ein Server mit nachhinkender Erfassung ehrlich bis zu seiner letzten Beobachtung als Stummel am linken Rand gezeichnet. Er zählt außerdem in der KPI Active servers als inaktiv (sein letzter Punkt liegt außerhalb der 15 Min. vor dem Fensterende).

F. Die Kurve einer Richtung sieht aus wie ein Sägezahn. Die Normalisierung auf Minutenraster behebt die meisten Fälle; sind jedoch die Erfassungsfenster selbst unregelmäßig, kann ein Rest-Sägezahn bleiben. Ein Wechsel auf die log-Achse glättet ihn.

F. Sind die Werte kumuliert? Nein. delta_* = Zuwachs je Fenster (~5 Min.). Deshalb ist die KPI Total packets mit /window beschriftet. Es handelt sich nicht um kumulative Zähler.

F. Die Zeiten weichen um mehrere Stunden ab. Die Anzeigezeitzone wird über die Einstellung traffic_tz_offset von OpsPolicy korrigiert (siehe Betriebsrichtlinie).

Verwandte Themen

네트워크 I/O 추이
네트워크 I/O 추이