Zum Inhalt springen

Monitoring

Ultralytics bietet Überwachung für bereitgestellte Endpunkte. Verfolgen Sie Anforderungsmetriken, zeigen Sie Protokolle an und überprüfen Sie den Gesundheitsstatus mit automatischer Abfrage.

Übersicht über die Ultralytics -Bereitstellungsseite Karten und Weltkarte

Bereitstellungs-Dashboard

Die Deploy Die Seite in der Seitenleiste dient als Überwachungs-Dashboard für alle Ihre Bereitstellungen. Sie vereint die Weltkarte, Übersichtsmetriken und das Bereitstellungsmanagement in einer Ansicht. Siehe Dedizierte Endpunkte zum Erstellen und Verwalten von Bereitstellungen.

graph TB
    subgraph Dashboard
        Map[World Map] --- Cards[Overview Cards]
        Cards --- List[Deployments List]
    end
    subgraph "Per Deployment"
        Metrics[Metrics Row]
        Health[Health Check]
        Logs[Logs Tab]
        Code[Code Tab]
        Predict[Predict Tab]
    end
    List --> Metrics
    List --> Health
    List --> Logs
    List --> Code
    List --> Predict

    style Dashboard fill:#f5f5f5,color:#333
    style Map fill:#2196F3,color:#fff
    style Cards fill:#FF9800,color:#fff
    style List fill:#4CAF50,color:#fff

Übersichtskarten

Vier Zusammenfassungskarten oben auf der Seite zeigen:

Übersichtskarten zur Bereitstellungsseite Ultralytics

MetrikBeschreibung
Gesamtanzahl der Anfragen (24 Stunden)Anfragen über alle Endpunkte hinweg
Aktive BereitstellungenAktuell laufende Endpunkte
Fehlerquote (24 Stunden)Prozentsatz fehlgeschlagener Anfragen
P95-Latenz (24 Stunden)95. Perzentil der Reaktionszeit

Fehlerratenwarnung

Die Fehlerquote-Karte wird rot hervorgehoben, wenn die Quote 5 % überschreitet. Überprüfen Sie die Logs Registerkarte „Einzelne Bereitstellungen“, um Fehler zu diagnostizieren.

Weltkarte

Die interaktive Weltkarte zeigt:

  • Regionspins für alle 43 verfügbaren Regionen
  • Grüne Stecker für eingesetzte Regionen
  • Animierte blaue Stecker für Regionen mit aktiven Bereitstellungen
  • Die Pin-Größe variiert je nach Bereitstellungsstatus und Latenz.

Ultralytics Weltkarte mit bereitgestellten Regionen

Bereitstellungsliste

Unterhalb der Übersichtskarten zeigt die Bereitstellungsliste alle Endpunkte in Ihren Projekten an. Verwenden Sie die Umschaltfunktion für den Anzeigemodus, um zwischen folgenden Ansichten zu wechseln:

AnsichtBeschreibung
KartenVollständige Detailkarten mit Metriken, Protokollen, Code und Vorhersage-Registerkarten
KompaktRaster aus kleineren Karten (1–4 Spalten) mit wichtigen Kennzahlen
TabelleDatentabelle mit sortierbaren Spalten: Name, Region, Status, Anfragen, P95, Fehler

Echtzeit-Updates

Das Dashboard fragt alle 30 Sekunden nach Aktualisierungen der Metriken. Wenn sich Bereitstellungen in einem Übergangsstatus befinden (Erstellen, Bereitstellen), erhöht sich die Abfragefrequenz auf alle 3 Sekunden. Klicken Sie auf die Schaltfläche „Aktualisieren“, um sofortige Aktualisierungen zu erhalten.

Metriken pro Bereitstellung

Jede Bereitstellungskarte (in der Kartenansicht) zeigt Echtzeit-Metriken an:

Metrik-Zeile

MetrikBeschreibung
AnfragenAnzahl der Anfragen (24 Stunden) mit Symbol
P95-Latenz95. Perzentil der Reaktionszeit
FehlerrateProzentsatz fehlgeschlagener Anfragen

Die Metriken werden vom Sparkline-API-Endpunkt abgerufen und alle 60 Sekunden aktualisiert.

Zustandsprüfung

Laufende Bereitstellungen zeigen einen Integritätsprüfungsindikator an:

IndikatorBedeutung
Grünes HerzGesund – zeigt Reaktionsverzögerung
Rotes HerzUngesund – zeigt Fehlermeldung an
Drehendes SymbolGesundheitscheck läuft

Gesundheitsprüfungen werden alle 20 Sekunden automatisch wiederholt, wenn sie nicht in Ordnung sind. Klicken Sie auf das Symbol „Aktualisieren“, um eine Gesundheitsprüfung manuell auszulösen. Die Gesundheitsprüfung verwendet eine Zeitüberschreitung von 55 Sekunden, um Kaltstarts auf Scale-to-Zero-Endpunkten zu berücksichtigen.

Ultralytics Gesundheitscheck Gesund mit Latenz

Kaltstarttoleranz

Der Gesundheitscheck verwendet eine Zeitüberschreitung von 55 Sekunden, um Kaltstarts an Scale-to-Zero-Endpunkten zu berücksichtigen (im schlimmsten Fall bis zu ~45 Sekunden). Sobald der Endpunkt aufgewärmt ist, werden Gesundheitschecks in Millisekunden abgeschlossen.

Logs

Jede Einsatzkarte enthält eine Logs Registerkarte zum Anzeigen der letzten Protokolleinträge:

Ultralytics Registerkarte „Protokolle“ mit Schweregradfilter

Log-Einträge

Jeder Protokolleintrag zeigt:

FeldBeschreibung
SchweregradFarbcodierter Balken (siehe unten)
ZeitstempelAnforderungszeit (lokales Format)
NachrichtProtokollinhalt
HTTP-InformationenStatuscode und Latenz (falls zutreffend)

Filtern Sie Protokolle nach Schweregrad mithilfe der Filtertasten:

LevelFarbeBeschreibung
DEBUGGrauDebug-Meldungen
INFOBlauNormale Anfragen
WARNUNGGelbNicht-kritische Probleme
FEHLERRotFehlgeschlagene Anfragen
KRITISCHDunkelrotKritische Fehler
SteuerungBeschreibung
FehlerFilter auf ERROR- und WARNING-Einträge
AlleAlle Protokolleinträge anzeigen
KopieAlle sichtbaren Protokolle in die Zwischenablage kopieren
AktualisierenProtokolleinträge neu laden

Die Benutzeroberfläche zeigt die 20 neuesten Einträge an. Die API zeigt standardmäßig 50 Einträge pro Anfrage an (maximal 200).

Debugging-Workflow

Bei der Untersuchung von Fehlern: Klicken Sie zunächst auf „Fehler“, um die Einträge „FEHLER“ und „WARNUNG“ zu filtern, und überprüfen Sie dann die Zeitstempel und HTTP-Statuscodes. Kopieren Sie die Protokolle in die Zwischenablage, um sie mit Ihrem Team zu teilen.

Codebeispiele

Jede Einsatzkarte enthält eine Code Registerkarte mit gebrauchsfertigem API-Code mit Ihrer tatsächlichen Endpunkt-URL und Ihrem API-Schlüssel:

import requests

# Deployment endpoint
url = "https://predict-abc123.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())
// Build form data with image and parameters
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");

// Send image for inference
const response = await fetch(
  "https://predict-abc123.run.app/predict",
  {
    method: "POST",
    headers: { Authorization: "Bearer YOUR_API_KEY" },
    body: formData,
  }
);

const result = await response.json();
console.log(result);
# Send image for inference
curl -X POST "https://predict-abc123.run.app/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7" \
  -F "imgsz=640"

Automatisch ausgefüllte Anmeldedaten

Beim Betrachten der Code Registerkarte in der Plattform werden Ihre tatsächliche Endpunkt-URL und Ihr API-Schlüssel automatisch ausgefüllt. Kopieren Sie den Code und führen Sie ihn direkt aus. Siehe API-Schlüssel einen Schlüssel generieren.

Bereitstellungsprognose

Die Predict Die Registerkarte auf jeder Bereitstellungskarte enthält ein Inline-Vorhersagefeld – dieselbe Oberfläche wie das Modell. Predict Registerkarte, aber die Inferenz wird über den Bereitstellungsendpunkt statt über den gemeinsam genutzten Dienst ausgeführt. Dies ist nützlich, um einen bereitgestellten Endpunkt direkt über den Browser zu testen. Siehe Inferenz für Parameterdetails und Antwortformate.

API-Endpunkte

Überwachung – Überblick

GET /api/monitoring

Gibt aggregierte Metriken für alle Bereitstellungen zurück, die dem authentifizierten Benutzer gehören. Arbeitsbereichsbezogen über optional owner Abfrageparameter.

Bereitstellungsmetriken

GET /api/deployments/{deploymentId}/metrics?sparkline=true&range=24h

Gibt Sparkline-Daten und zusammenfassende Metriken für eine bestimmte Bereitstellung zurück. Aktualisierungsintervall: 60 Sekunden.

ParameterTypBeschreibung
sparklineboolSparkline-Daten einbeziehen
rangestringZeitbereich: 1h, 6h, 24h, 7d, oder 30d

Bereitstellungsprotokolle

GET /api/deployments/{deploymentId}/logs?limit=50&severity=ERROR,WARNING

Gibt die letzten Protokolleinträge mit optionalem Schweregradfilter und Paginierung zurück.

ParameterTypBeschreibung
limitintMaximale Anzahl der zurückzugebenden Einträge (Standard: 50, maximal: 200)
severitystringDurch Kommas getrennter Schweregradfilter
pageTokenstringPaginierungstoken aus vorheriger Antwort

Bereitstellungszustand

GET /api/deployments/{deploymentId}/health

Gibt den Status der Zustandsprüfung mit der Antwortlatenz zurück.

{
    "healthy": true,
    "status": 200,
    "latencyMs": 142
}

Leistungsoptimierung

Nutzen Sie Überwachungsdaten, um Ihre Bereitstellungen zu optimieren:

Wenn die Latenz zu hoch ist:

  1. Instanzenanzahl prüfen (ggf. erhöhen)
  2. Modellgröße auf Angemessenheit überprüfen
  3. Eine näher gelegene Region in Betracht ziehen
  4. Gesendete Bildgrößen prüfen

Verringerung der Latenz

Wechseln von imgsz=1280 zu imgsz=640 für eine ~4-fache Beschleunigung bei minimalem Genauigkeitsverlust für die meisten Anwendungsfälle. Stellen Sie die Lösung in einer Region bereit, die näher an Ihren Benutzern liegt, um die Netzwerklatenz zu verringern.

Wenn Fehler auftreten:

  1. Überprüfen Sie die Fehlerprotokolle in der Logs Registerkarte
  2. Überprüfen Sie das Anforderungsformat (mehrteiliges Formular erforderlich)
  3. API-Schlüssel auf Gültigkeit überprüfen
  4. Ratenbegrenzungen prüfen

Wenn die Kapazitätsgrenze erreicht ist:

  1. Mehrere Regionen in Betracht ziehen
  2. Anfrage-Batching optimieren
  3. Erhöhen Sie die CPU Speicherressourcen.

FAQ

Wie lange werden Daten aufbewahrt?

DatentypAufbewahrung
Metriken30 Tage
Logs7 Tage

Kann ich externes Monitoring einrichten?

Ja, Endpunkt-URLs funktionieren mit externen Überwachungstools:

  • Uptime-Monitoring (Pingdom, UptimeRobot)
  • APM-Tools (Datadog, New Relic)
  • Benutzerdefinierte Gesundheitschecks über die /health Endpunkt

Wie genau sind die Latenzwerte?

Latenzmetriken messen:

  • P50: Mediane Antwortzeit
  • P95: 95. Perzentil
  • P99: 99. Perzentil

Diese Werte repräsentieren die serverseitige Verarbeitungszeit, exklusive der Netzwerklatenz zu Ihren Benutzern.

Warum sind meine Metriken verzögert?

Metriken weisen eine Verzögerung von ca. 2 Minuten auf aufgrund von:

  • Metrik-Aggregationspipeline
  • Aggregationsfenster
  • Dashboard-Caching

Für Echtzeit-Debugging prüfen Sie die Protokolle, die nahezu sofort verfügbar sind.

Kann ich mehrere Endpunkte gleichzeitig überwachen?

Ja, auf der Seite „Bereitstellungen“ werden alle Endpunkte mit aggregierten Übersichtskarten angezeigt. Verwenden Sie die Tabellenansicht, um die Leistung verschiedener Bereitstellungen zu vergleichen.



📅 Erstellt vor 1 Monat ✏️ Aktualisiert vor 4 Tagen
glenn-jochersergiuwaxmann

Kommentare