InfraGuard

Server (Last-Zeitreihen)

Last, CPU und Arbeitsspeicher je Server als Ringanzeigen sowie Zeitreihen-Diagramme im Bildschirm Infrastruktur ▸ Server.

Überblick – was dieser Bildschirm leistet

Infrastruktur ▸ Server (/infra/servers) zeigt Durchschnittslast · CPU · Arbeitsspeicher für jeden registrierten Serverknoten aus einer Zeitreihen-Perspektive. Während der Bildschirm Zustand über Live-Prüfungen den „Zustand jedes Knotens im Augenblick“ erfasst, konzentriert sich der Bildschirm Server darauf, „wie sich die Last über die letzten Stunden bis Tage entwickelt hat“. Er ist eine Neuimplementierung von monitoring/part aus stats-design (load_average · cpu_usage · memory_usage).

Eine Karte je Knoten:

Die Metriken stammen aus der Alt-Tabelle server_status (nur lesend). Der Builder ServerMetricService grenzt die Abfrage auf ein aktuelles seq-Fenster ein (und vermeidet so einen langsamen vollständigen Durchlauf) und wendet einen 20-Sekunden-Cache an. Das Kartenraster unterstützt Umsortieren per Drag-and-drop + Masonry und aktualisiert sich automatisch per 30-Sekunden-Abfrage.

server_status wird vom Node-Collector run_report.js befüllt, der außerhalb von Laravel in einem Zyklus von etwa 5 Minuten läuft. Die Auflösung der Zeitachse beträgt daher rund 5 Minuten, und der Bildschirm aktualisiert sich per Abfrage (nicht per Echtzeit-Push / Reverb).


Wann Sie ihn verwenden

Die Live-Sitzungsüberwachung (mit Dienstpunkten für nginx/php/mysql) finden Sie unter Zustand, Byte-/Paket-Diagramme zur Netzwerk-E/A unter Traffic und den Zustand von Platten und RAID unter Speicher und RAID.


Aufbau

Obere KPI-Leiste

Wird von ServerMetricService::kpi() berechnet.

KPI Bedeutung
Server Gesamtzahl der im Fenster vorhandenen Knoten
Online Knoten, die innerhalb der letzten 2 Erfassungszyklen loadavg gemeldet haben
Offline Gesamt − Online
Höchste Last Knoten mit der höchsten aktuellen 1-Minuten-Last + Alias
Höchste CPU Knoten mit dem höchsten aktuellen CPU% + Alias
Höchster Speicher Knoten mit dem höchsten aktuellen Speicher-Prozentwert + Alias

range-Umschalter

Wählt das Anzeigefenster aus (Anzahl der Punkte des seq-Fensters). Die Auswahl wird im localStorage (infr:range:infra-servers) gespeichert und bleibt über Besuche hinweg erhalten.

range seq-Punkte ≈ tatsächliches Fenster (5-Minuten-Zyklus)
1h 12 ~1 Stunde
6h 72 ~6 Stunden
24h 288 ~24 Stunden (Standard)
3d 864 ~3 Tage

range wird in „die letzten N Erfassungszyklen“ übersetzt (nicht in eine absolute Zeitspanne). Bei einem 5-Minuten-Zyklus entspricht 24h ≈ 288 Punkten. Ein Knoten, der selten meldet, kann bei gleichem range ein kürzeres tatsächliches Fenster zeigen – die Fensterbezeichnung am unteren Rand nennt die reale Spanne als 24h/6h/45m/2d.

Knotenkarte

┌──────────────────────────────────────────────┐
│ label · alias · IP           online / last Nm │   ← Kopf (Bezeichnung aus infr_instance angereichert)
│  ( Load )   ( CPU )   ( MEM )                    │   ← 3 Ringanzeigen (aktueller Wert)
│  ▁▂▅▇▅▃  Sparkline (SVG-Polylinie)              │
│  peak · disk 42% · net out 1,234      [Details] │   ← Fuß
└──────────────────────────────────────────────┘

Kartenrahmen und Anzeigen werden mit einem Schwellenwert-Farbton gezeichnet; der Gesamtschweregrad der Karte richtet sich nach der schlechtesten der drei Metriken.

Metrik good warn crit
Load (1 Min.) < 8 ≥ 8 ≥ 16
CPU % < 70 ≥ 70 ≥ 90
MEM % < 85 ≥ 85 ≥ 95

Der Load-Ring ist so normiert, dass er bei Last 8 voll ist (LOAD_FULL=8) – abgestimmt auf den warn-Schwellenwert. Auf einer Maschine mit vielen Kernen ist eine Last von 8 nicht zwangsläufig gefährlich; lesen Sie daher stets auch den absoluten Wert aus der Zahl in der Ringmitte ab.

Ausgeklappte Detailansicht (ECharts + Statistik)

Ein Druck auf [Details] lässt die Karte vertikal wachsen; Masonry ordnet die Höhenänderung automatisch neu an.


Vorgehen

  1. Öffnen Sie /infra/servers → die Knotenkarten werden in aufsteigender Alias-Reihenfolge angeordnet.
  2. Wählen Sie mit dem Umschalter range (1h/6h/24h/3d) ein Beobachtungsfenster. Die Abfrage wird sofort erneut ausgeführt, unabhängig von der periodischen Abfrage.
  3. Öffnen Sie mit [Details] das Zeitreihendiagramm und die Statistiktabelle eines Knotens.
  4. Fahren Sie über das Diagramm, um die CPU-/MEM-/Load-Werte zu einem bestimmten Zeitpunkt über das Fadenkreuz abzulesen.
  5. Ziehen Sie Karten, um die von Ihnen am häufigsten beobachteten Knoten nach oben zu holen – die Reihenfolge bleibt im localStorage (infr:order:infra-servers) erhalten.
  6. Verwenden Sie die Vollbild-Schaltfläche im Kopfbereich, um die obere Navigation auszublenden und die Ansicht im Dashboard-Modus zu nutzen.

Der Bildschirm aktualisiert sich alle 30 Sekunden automatisch durch Abfrage von /infra/servers/live (ohne Zutun). Dieser Bildschirm kennt keine Schreib- oder Steueraktionen – er dient rein der Beobachtung.

Das abfragende Frontend entscheidet anhand des günstigen Änderungstokens rev (= das letzte seq von server_status), ob eine Aktualisierung nötig ist. Bis ein neuer Erfassungszyklus eintrifft, bleibt der Bildschirm unverändert – das ist nicht „eingefroren“, es gibt schlicht noch keine neue Momentaufnahme.


Datenquellen

Die Quelle ist die Alt-Tabelle server_status (MAIN-DB, Schlüssel-Wert-Schema über part, nur lesend). Sie interpretiert die Speicherkonvention von run_report.js unmittelbar.

part Wertformat Bedeutung Verwendung in der Reihe
loadavg "1m 5m 15m" durch Leerzeichen getrennt (z. B. "0.50 0.42 0.38") Durchschnittslasten Reihe und Ring verwenden nur die 1-Minuten-Last; der Fuß zeigt zusätzlich 5/15 Min.
top "NN%" (z. B. "3.6%") CPU-Nutzung im User-Modus CPU-Reihe/-Ring
free "NN%" Speichernutzung = round(used/total×100) MEM-Reihe/-Ring
df-data / df- / df-home JSON {p,u,a} Platten-Prozentwert (p) · belegt (u) · Größe (a) Aktuellstes Platten-Abzeichen (Priorität df-data → df- → df-home)
traffic-out numerisch Delta der ausgehenden Netzwerkpakete net-Reihe/-Fuß

Disziplin bei Abfrage und Aufbereitung:

Registrierung und Zugangsdaten für den Collector run_report.js, der server_status befüllt, werden unter Verwaltung ▸ Collectors verwaltet.


Zugriff

Stufenschema: demo=1 · staff=5 · admin=10 (siehe RBAC-Stufen).


Fehlersuche und FAQ

Ich sehe nur „Keine Servermetriken.“ In server_status gibt es keine aktuelle Momentaufnahme. Prüfen Sie, ob der Collector run_report.js läuft und unter Collectors registriert ist. Prüfen Sie außerdem die Verbindung zur Alt-Datenbank (MAIN).

Ein Knoten wird als offline angezeigt. Das bedeutet, dass in den letzten 2 Erfassungszyklen kein loadavg gemeldet wurde. Prüfen Sie den Laufstatus von run_report auf diesem Knoten, seine Uhr (Abweichung) und das Netzwerk. Die relative Bezeichnung last_seen sagt Ihnen, wann er zuletzt gemeldet hat.

Eine Karte zeigt einen Alias (z. B. sol) statt eines sprechenden Namens. Dieser Alias ist nicht in Instanzen (infr_instance) registriert. Registrieren Sie die Instanz, dann wird ihr name zur Bezeichnung, und ip_public/ip_private werden als IP angezeigt.

Das Platten-Abzeichen ist leer. Dieser Knoten hat keines von df-data/df-/df-home im JSON-Format {p,u,a} gemeldet. Für detaillierte Plattennutzung und RAID-Zustand verwenden Sie Speicher und RAID.

Der Load-Ring wirkt immer voll. Der Load-Ring ist mit einer Obergrenze von Last 8 normiert. Auf Servern mit vielen Kernen kann eine Last von 8 normal sein; beurteilen Sie daher nach dem absoluten Wert in der Ringmitte. Schließen Sie nicht allein aus den Farbton-Schwellenwerten (warn 8 / crit 16) auf eine Gefahr.

Es wird alle 30 s abgefragt, aber nichts ändert sich. Entweder ist (1) noch kein neuer Erfassungszyklus (~5 Min.) eingetroffen, oder (2) Sie befinden sich innerhalb des 20-Sekunden-Cache-Fensters. Bestätigen Sie tatsächliche Aktualisierungen über stamp, die Fensterbezeichnung und rev (das letzte seq).

Ich habe range auf 3d gestellt, doch das Fenster wirkt kurz. range bedeutet „die letzten N Zyklen“, daher deckt ein Knoten, der selten erfasst, nur eine kurze reale Zeitspanne ab. Die Fensterbezeichnung am unteren Rand zeigt die tatsächliche Spanne (45m/6h/2d). Die Obergrenze der Punktanzahl liegt bei 1000.


Verwandte Themen

서버 — 부하·CPU·메모리 시계열
서버 — 부하·CPU·메모리 시계열
카드를 펼친 결합 선그래프
카드를 펼친 결합 선그래프