Vai al contenuto

Monitoraggio

Ultralytics fornisce il monitoraggio degli endpoint distribuiti. Traccia le metriche delle richieste, visualizza i log e controlla lo stato di integrità con il polling automatico.

Panoramica della pagina di implementazione Ultralytics Schede e mappa mondiale

Pannello di controllo delle distribuzioni

Il Deploy La pagina nella barra laterale funge da dashboard di monitoraggio per tutte le distribuzioni. Combina la mappa del mondo, le metriche di panoramica e la gestione delle distribuzioni in un'unica vista. Vedi Endpoint Dedicati per la creazione e la gestione delle distribuzioni.

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

Schede di Panoramica

Quattro schede riassuntive nella parte superiore della pagina mostrano:

Pagina di distribuzione Ultralytics Quattro schede panoramica

MetricaDescrizione
Richieste totali (24 ore)Richieste su tutti gli endpoint
Distribuzioni AttiveEndpoint attualmente in esecuzione
Tasso di errore (24 ore)Percentuale di richieste fallite
Latenza P95 (24 ore)Tempo di risposta al 95° percentile

Avviso tasso di errore

La scheda del tasso di errore evidenzia in rosso quando il tasso supera il 5%. Controllare il Logs scheda sulle singole implementazioni per diagnosticare gli errori.

Mappa del mondo

La mappa interattiva del mondo mostra:

  • Spille regionali per tutte le 43 regioni disponibili
  • Puntatori verdi per le regioni implementate
  • Puntatori blu animati per le regioni con implementazioni attive in corso
  • La dimensione del pin varia in base allo stato di implementazione e alla latenza.

Pagina di implementazione Ultralytics Mappa mondiale con le regioni in cui è stata implementata

Elenco delle distribuzioni

Sotto le schede panoramica, l'elenco delle distribuzioni mostra tutti gli endpoint dei tuoi progetti. Utilizza il pulsante di attivazione/disattivazione della modalità di visualizzazione per passare da:

VisualizzaDescrizione
CarteSchede dettagliate complete con metriche, registri, codice e schede di previsione
CompattoGriglia di schede più piccole (1-4 colonne) con metriche chiave
TabellaTabella dati con colonne ordinabili: Nome, Regione, Stato, Richieste, P95, Errori

Aggiornamenti in tempo reale

Il dashboard esegue un polling ogni 30 secondi per gli aggiornamenti delle metriche. Quando le distribuzioni sono in uno stato di transizione (creazione, distribuzione), il polling aumenta a ogni 3 secondi. Fare clic sul pulsante di aggiornamento per aggiornamenti immediati.

Metriche per implementazione

Ogni scheda di distribuzione (nella vista schede) mostra metriche in tempo reale:

Riga delle metriche

MetricaDescrizione
RichiesteNumero di richieste (24 ore) con icona
Latenza P95Tempo di risposta al 95° percentile
Tasso di ErrorePercentuale di richieste fallite

Le metriche vengono recuperate dall'endpoint API sparkline e aggiornate ogni 60 secondi.

Controllo dello stato

Le distribuzioni in esecuzione mostrano un indicatore di stato di integrità:

IndicatoreSignificato
Cuore verdeSano — mostra latenza di risposta
Cuore rossoNon corretto — visualizza un messaggio di errore
Icona di caricamentoControllo sanitario in corso

I controlli di integrità vengono riprovati automaticamente ogni 20 secondi quando non sono corretti. Fare clic sull'icona di aggiornamento per avviare manualmente un controllo di integrità. Il controllo di integrità utilizza un timeout di 55 secondi per consentire l'avvio a freddo su endpoint scalati a zero.

Controllo dello stato della scheda di implementazione Ultralytics Stato integro con latenza

Tolleranza all'avvio a freddo

Il controllo dello stato di integrità utilizza un timeout di 55 secondi per tenere conto degli avvii a freddo su endpoint con scala zero (fino a ~45 secondi nel caso peggiore). Una volta che l'endpoint si è riscaldato, i controlli dello stato di integrità vengono completati in pochi millisecondi.

Log

Ogni carta di schieramento include un Logs scheda per visualizzare le voci recenti del registro:

Scheda Registri Ultralytics con filtro di gravità

Voci di Log

Ogni voce di log mostra:

CampoDescrizione
GravitàBarra con codice colore (vedi sotto)
TimestampOra della richiesta (formato locale)
MessaggioContenuto del log
Informazioni HTTPCodice di stato e latenza (se applicabile)

Filtra i registri in base alla gravità utilizzando i pulsanti di filtro:

LivelloColoreDescrizione
DEBUGGrigioMessaggi di debug
INFOBluRichieste normali
WARNINGGialloProblemi non critici
ERRORERossoRichieste fallite
CRITICORosso scuroGuasti critici
ControlloDescrizione
ErroriFiltra le voci ERRORE e AVVISO
Tutti iMostra tutte le voci di registro
CopiaCopia tutti i log visibili negli appunti
AggiornaRicarica le voci del registro

L'interfaccia utente mostra le 20 voci più recenti. L'API imposta come valore predefinito 50 voci per richiesta (massimo 200).

Flusso di lavoro di debug

Quando si indagano gli errori: cliccare prima su Errori per filtrare le voci ERRORE e AVVISO, quindi controllare i timestamp e i codici di stato HTTP. Copiare i log negli appunti per condividerli con il proprio team.

Esempi di Codice

Ogni carta di schieramento include un Code scheda che mostra il codice API pronto all'uso con l'URL dell'endpoint effettivo e la chiave API:

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"

Credenziali compilate automaticamente

Quando si visualizza il Code nella piattaforma, l'URL dell'endpoint effettivo e la chiave API vengono compilati automaticamente. Copia il codice ed eseguilo direttamente. Vedi Chiavi API per generare una chiave.

Previsione dell'implementazione

Il Predict La scheda su ciascuna scheda di distribuzione fornisce un pannello di previsione in linea, la stessa interfaccia del modello. Predict scheda, ma eseguendo l'inferenza tramite l'endpoint di distribuzione anziché il servizio condiviso. Ciò è utile per testare un endpoint distribuito direttamente dal browser. Vedere Inferenza per i dettagli sui parametri e i formati di risposta.

Endpoint API

Panoramica sul monitoraggio

GET /api/monitoring

Restituisce metriche aggregate per tutte le distribuzioni di proprietà dell'utente autenticato. Compatibile con l'area di lavoro tramite opzione owner parametro di query.

Metriche di implementazione

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

Restituisce i dati sparkline e le metriche di riepilogo per una distribuzione specifica. Intervallo di aggiornamento: 60 secondi.

ParametroTipoDescrizione
sparklinebooleanoIncludi dati sparkline
rangestringIntervallo di tempo: 1h, 6h, 24h, 7d, oppure 30d

Registri di distribuzione

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

Restituisce le voci di log recenti con filtro di gravità opzionale e impaginazione.

ParametroTipoDescrizione
limitintNumero massimo di voci da restituire (impostazione predefinita: 50, massimo: 200)
severitystringFiltro di gravità separato da virgola
pageTokenstringToken di impaginazione dalla risposta precedente

Salute dell'implementazione

GET /api/deployments/{deploymentId}/health

Restituisce lo stato del controllo di integrità con la latenza della risposta.

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

Ottimizzazione delle performance

Utilizza i dati di monitoraggio per ottimizzare le tue distribuzioni:

Se la latenza è troppo elevata:

  1. Verifica il numero di istanze (potrebbero esserne necessarie di più)
  2. Verifica che la dimensione del modello sia appropriata
  3. Considera una regione più vicina
  4. Controlla le dimensioni delle immagini inviate

Riduzione della latenza

Passa da imgsz=1280 a imgsz=640 per un aumento della velocità di circa 4 volte con una perdita minima di precisione nella maggior parte dei casi d'uso. Distribuisci in una regione più vicina ai tuoi utenti per ridurre la latenza di rete.

Se si verificano errori:

  1. Controllare i registri degli errori nel Logs scheda
  2. Verifica il formato della richiesta (è richiesto un modulo multiparte)
  3. Verificare che la chiave API sia valida
  4. Verificare i limiti di frequenza

In caso di raggiungimento della capacità:

  1. Valutare l'utilizzo di più regioni
  2. Ottimizzare il batching delle richieste
  3. Aumentare le risorse CPU della memoria

FAQ

Per quanto tempo vengono conservati i dati?

Tipo di datiPeriodo di conservazione
Metriche30 giorni
Log7 giorni

È possibile configurare un monitoraggio esterno?

Sì, gli URL degli endpoint funzionano con strumenti di monitoraggio esterni:

  • Monitoraggio dell'uptime (Pingdom, UptimeRobot)
  • Strumenti APM (Datadog, New Relic)
  • Controlli sanitari personalizzati tramite il /health punto finale

Quanto sono accurati i valori di latenza?

Le metriche di latenza misurano:

  • P50: Tempo di risposta mediano
  • P95: 95° percentile
  • P99: 99° percentile

Questi rappresentano il tempo di elaborazione lato server, esclusa la latenza di rete verso i tuoi utenti.

Perché le mie metriche sono in ritardo?

Le metriche hanno un ritardo di circa 2 minuti a causa di:

  • Pipeline di aggregazione delle metriche
  • Finestre di aggregazione
  • Caching della dashboard

Per il debug in tempo reale, controlla i log che sono quasi istantanei.

È possibile monitorare più endpoint contemporaneamente?

Sì, la pagina delle distribuzioni mostra tutti gli endpoint con schede di panoramica aggregate. Utilizza la visualizzazione tabellare per confrontare le prestazioni tra le distribuzioni.



📅 Creato 1 mese fa ✏️ Aggiornato 5 giorni fa
glenn-jochersergiuwaxmann

Commenti