Zum Inhalt springen

Monitoring

Ultralytics Platform 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 Antwortzeit

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:

  • Regions-Pins für alle 43 verfügbaren Regionen
  • Grüne Pins für bereitgestellte Regionen
  • Animierte blaue Pins für Regionen mit aktiven, laufenden Bereitstellungen
  • Pin-Größe variiert je nach Bereitstellungsstatus und Latenz

Ultralytics Weltkarte mit bereitgestellten Regionen

Bereitstellungsliste

Unterhalb der Übersichts-Karten zeigt die Bereitstellungsliste alle Endpunkte über Ihre Projekte hinweg. Verwenden Sie den Ansichtsmodus-Umschalter, um zu wechseln zwischen:

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 den aktuellen Status der Bereitstellung ab. Befinden sich Bereitstellungen in einem Übergangsstatus (Erstellung, Bereitstellung), erfolgt die Abfrage alle 3 Sekunden. Die Metrikdiagramme werden alle 60 Sekunden aktualisiert. 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 Antwortzeit
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

Kaltstart-Toleranz

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
SchweregradFarbcodierte Leiste (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
KopierenAlle sichtbaren Logs 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 Zugangsdaten

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.

Bereitstellungs-Vorhersage

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)
severitystringKommagetrennter 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. Betrachten Sie einen näheren Bereich
  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. Anforderungsformat überprüfen (Multipart-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 Gesundheitsprüfungen ü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 2 Monaten ✏️ Aktualisiert vor 11 Tagen
glenn-jochersergiuwaxmann

Kommentare