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.

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:

| Metrica | Descrizione |
|---|---|
| Richieste totali (24 ore) | Richieste su tutti gli endpoint |
| Distribuzioni Attive | Endpoint 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.

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:
| Visualizza | Descrizione |
|---|---|
| Carte | Schede dettagliate complete con metriche, registri, codice e schede di previsione |
| Compatto | Griglia di schede più piccole (1-4 colonne) con metriche chiave |
| Tabella | Tabella 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
| Metrica | Descrizione |
|---|---|
| Richieste | Numero di richieste (24 ore) con icona |
| Latenza P95 | Tempo di risposta al 95° percentile |
| Tasso di Errore | Percentuale 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à:
| Indicatore | Significato |
|---|---|
| Cuore verde | Sano — mostra latenza di risposta |
| Cuore rosso | Non corretto — visualizza un messaggio di errore |
| Icona di caricamento | Controllo 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.

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:

Voci di Log
Ogni voce di log mostra:
| Campo | Descrizione |
|---|---|
| Gravità | Barra con codice colore (vedi sotto) |
| Timestamp | Ora della richiesta (formato locale) |
| Messaggio | Contenuto del log |
| Informazioni HTTP | Codice di stato e latenza (se applicabile) |
Filtra i registri in base alla gravità utilizzando i pulsanti di filtro:
| Livello | Colore | Descrizione |
|---|---|---|
| DEBUG | Grigio | Messaggi di debug |
| INFO | Blu | Richieste normali |
| WARNING | Giallo | Problemi non critici |
| ERRORE | Rosso | Richieste fallite |
| CRITICO | Rosso scuro | Guasti critici |
| Controllo | Descrizione |
|---|---|
| Errori | Filtra le voci ERRORE e AVVISO |
| Tutti i | Mostra tutte le voci di registro |
| Copia | Copia tutti i log visibili negli appunti |
| Aggiorna | Ricarica 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.
| Parametro | Tipo | Descrizione |
|---|---|---|
sparkline | booleano | Includi dati sparkline |
range | string | Intervallo 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.
| Parametro | Tipo | Descrizione |
|---|---|---|
limit | int | Numero massimo di voci da restituire (impostazione predefinita: 50, massimo: 200) |
severity | string | Filtro di gravità separato da virgola |
pageToken | string | Token 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:
- Verifica il numero di istanze (potrebbero esserne necessarie di più)
- Verifica che la dimensione del modello sia appropriata
- Considera una regione più vicina
- 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:
- Controllare i registri degli errori nel
Logsscheda - Verifica il formato della richiesta (è richiesto un modulo multiparte)
- Verificare che la chiave API sia valida
- Verificare i limiti di frequenza
In caso di raggiungimento della capacità:
- Valutare l'utilizzo di più regioni
- Ottimizzare il batching delle richieste
- Aumentare le risorse CPU della memoria
FAQ
Per quanto tempo vengono conservati i dati?
| Tipo di dati | Periodo di conservazione |
|---|---|
| Metriche | 30 giorni |
| Log | 7 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
/healthpunto 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.