Vai al contenuto

Monitoraggio

La piattaforma Ultralytics fornisce il monitoraggio per gli endpoint in deployment. Traccia le metriche delle richieste, visualizza i log e controlla lo stato di salute con polling automatico.

Piattaforma Ultralytics Pagina di Distribuzione Schede Panoramica e Mappa del Mondo

Dashboard dei Deployment

Il Deploy pagina nella barra laterale funge da dashboard di monitoraggio per tutte le tue implementazioni. Combina la mappa del mondo, le metriche di panoramica e la gestione delle implementazioni in un'unica visualizzazione. 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:

Piattaforma Ultralytics Pagina di Distribuzione Quattro Schede Panoramica

MetricaDescrizione
Richieste Totali (24h)Richieste su tutti gli endpoint
Distribuzioni AttiveEndpoint attualmente in esecuzione
Tasso di errore (24h)Percentuale di richieste fallite
Latenza P95 (24h)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%. Controlla il Logs scheda sui singoli deployment per diagnosticare gli errori.

Mappa del mondo

La mappa del mondo interattiva mostra:

  • Pin di regione per tutte le 43 regioni disponibili
  • Spille verdi per le regioni distribuite
  • Puntine blu animate per le regioni con distribuzioni attive in corso
  • Dimensione del pin varia in base allo stato di deployment e alla latenza

Piattaforma Ultralytics Pagina di Distribuzione Mappa del Mondo Con Regioni Distribuite

Elenco dei Deployment

Sotto le schede di panoramica, l'elenco delle distribuzioni mostra tutti gli endpoint dei tuoi progetti. Usa l'interruttore della modalità di visualizzazione per passare tra:

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

Aggiornamenti in tempo reale

La dashboard interroga ogni 30 secondi per gli aggiornamenti delle metriche. Quando i deployment sono in uno stato transitorio (creazione, deployment), l'interrogazione aumenta a ogni 3 secondi. Clicca il pulsante di aggiornamento per aggiornamenti immediati.

Metriche per deployment

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

Riga delle metriche

MetricaDescrizione
RichiesteConteggio richieste (24h) con icona
Latenza P95tempo di risposta al 95° percentile
Tasso di ErrorePercentuale di richieste fallite

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

Controllo dello stato

Le distribuzioni in esecuzione mostrano un indicatore di stato:

IndicatoreSignificato
Cuore verdeFunzionante — mostra la latenza di risposta
Cuore rossoNon integro — mostra messaggio di errore
Icona rotanteHealth check in corso

I controlli dello stato si riprovano automaticamente ogni 20 secondi in caso di malfunzionamento. Clicca sull'icona di aggiornamento per avviare manualmente un controllo dello stato. Il controllo dello stato utilizza un timeout di 55 secondi per gestire gli avvii a freddo su endpoint con scalabilità a zero.

Piattaforma Ultralytics Scheda di Deployment Controllo di Integrità con Latenza

Tolleranza all'Avvio a Freddo

Il controllo di integrità utilizza un timeout di 55 secondi per tenere conto degli avvii a freddo sugli endpoint scale-to-zero (fino a circa 45 secondi nel caso peggiore). Una volta che l'endpoint si è riscaldato, i controlli di integrità si completano in millisecondi.

Log

Ogni scheda di deployment include un Logs scheda per visualizzare le voci di registro recenti:

Piattaforma Ultralytics Scheda di Deployment Scheda Log con Filtro di Severità

Voci di Log

Ogni voce di log mostra:

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

Filtra i log per gravità utilizzando i pulsanti di filtro:

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

L'interfaccia utente mostra le 20 voci più recenti. L'API imposta di default 50 voci per richiesta (max 200).

Flusso di lavoro di debug

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

Esempi di Codice

Ogni scheda di deployment 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 Popolate Automaticamente

Quando si visualizza il Code scheda 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 del Deployment

Il Predict scheda su ogni scheda di deployment fornisce un pannello di previsione inline — la stessa interfaccia del modello Predict scheda, ma eseguendo l'inferenza tramite l'endpoint di deployment invece che tramite il servizio condiviso. Ciò è utile per testare un endpoint di deployment direttamente dal browser. Vedi Inferenza per i dettagli dei parametri e i formati di risposta.

Endpoint API

Panoramica del Monitoraggio

GET /api/monitoring

Restituisce metriche aggregate per tutti i deployment di proprietà dell'utente autenticato. Sensibile allo spazio di lavoro tramite opzione owner parametro di query.

Metriche del Deployment

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

Restituisce i dati sparkline e le metriche di riepilogo per un deployment specifico. Intervallo di aggiornamento: 60 secondi.

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

Log del Deployment

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

Restituisce le voci di log recenti con filtro di severità opzionale e paginazione.

ParametroTipoDescrizione
limitintNumero massimo di voci da restituire (predefinito: 50, massimo: 200)
severitystringFiltro di gravità separato da virgole
pageTokenstringToken di paginazione dalla risposta precedente

Stato del Deployment

GET /api/deployments/{deploymentId}/health

Restituisce lo stato dell'health check con la latenza di risposta.

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

Ottimizzazione delle performance

Utilizzare i dati di monitoraggio per ottimizzare le 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 di velocità di circa 4 volte con una perdita minima di precisione per la maggior parte dei casi d'uso. Effettua il deployment in una regione più vicina ai tuoi utenti per una latenza di rete inferiore.

Se si verificano errori:

  1. Controlla i log degli errori nel Logs scheda
  2. Verifica il formato della richiesta (è richiesto un form multipart).
  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. Aumenta le risorse di CPU e 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 di salute personalizzati tramite il /health endpoint

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 dei deployment mostra tutti gli endpoint con schede di panoramica aggregate. Utilizza la vista tabella per confrontare le prestazioni tra i vari deployment.



📅 Creato 2 mesi fa ✏️ Aggiornato 25 giorni fa
glenn-jochersergiuwaxmann

Commenti