Condividi tramite


Monitorare gli endpoint online

Azure Machine Learning usa l'integrazione con Monitoraggio di Azure per tenere traccia e monitorare le metriche e i log per gli endpoint online. È possibile visualizzare le metriche nei grafici, confrontare le metriche tra endpoint e distribuzioni, aggiungere le metriche ai dashboard portale di Azure, configurare avvisi, eseguire query sulle tabelle dei log e eseguire il push dei log alle destinazioni supportate. È anche possibile usare Application Insights per analizzare gli eventi dai contenitori utente.

  • Metriche: per le metriche a livello di endpoint, ad esempio latenza delle richieste, richieste al minuto, nuove connessioni al secondo e byte di rete, è possibile eseguire il drill-down per visualizzare informazioni dettagliate a livello di distribuzione o di stato. È anche possibile eseguire il drill-down delle metriche a livello di distribuzione, ad esempio utilizzo cpu/GPU e utilizzo della memoria o del disco a livello di istanza. In Monitoraggio è possibile tenere traccia di queste metriche nei grafici ed è possibile configurare dashboard e avvisi per un'ulteriore analisi.

  • Log: è possibile inviare metriche a un'area di lavoro Log Analytics, in cui è possibile usare la sintassi di query Kusto per eseguire query sui log. È anche possibile inviare metriche agli account Archiviazione di Azure o Hub eventi di Azure per un'ulteriore elaborazione. Per il traffico, i log della console (contenitore) e gli eventi correlati agli endpoint online, è possibile usare tabelle di log dedicate. Le query Kusto supportano funzionalità di analisi complesse e l'unione di più tabelle.

  • Application Insights: gli ambienti curati includono l'integrazione con Application Insights. È possibile attivare o disattivare questa integrazione quando si crea una distribuzione online. Quando si attiva, le metriche e i log predefiniti vengono inviati ad Application Insights. È quindi possibile usare le funzionalità predefinite di Application Insights per un'ulteriore analisi. Tra gli esempi di queste funzionalità sono incluse le metriche attive, la ricerca delle transazioni, la visualizzazione errori e la visualizzazione delle prestazioni.

In questo articolo viene illustrato come:

  • Scegliere il metodo corretto per visualizzare e tenere traccia delle metriche e dei log.
  • Visualizzare le metriche per l'endpoint online.
  • Creare un dashboard per le metriche.
  • Creare un avviso per la metrica.
  • Visualizzare i log per l'endpoint online.
  • Usare Application Insights per tenere traccia delle metriche e dei log.

Prerequisiti

Usare le metriche

Nella portale di Azure è possibile visualizzare le pagine delle metriche per endpoint e distribuzioni online.

Accedere alle metriche da studio di Azure Machine Learning

Un modo semplice per accedere alle pagine delle metriche consiste nell'usare i collegamenti disponibili nell'interfaccia utente di studio di Azure Machine Learning. È possibile trovare questi collegamenti nella scheda Dettagli della pagina di un endpoint. Questi collegamenti portano alla pagina delle metriche nel portale di Azure per l'endpoint o la distribuzione.

Per accedere alle pagine delle metriche tramite collegamenti disponibili in Studio, seguire questa procedura:

  1. In studio di Azure Machine Learning passare all'area di lavoro.

  2. In Asset selezionare Endpoint.

  3. Selezionare il nome di un endpoint.

  4. In Attributi endpoint selezionare Visualizza metriche.

    Screenshot di una pagina endpoint in studio che mostra gli attributi dell'endpoint. Asset, endpoint, attributi endpoint e Metriche di visualizzazione sono evidenziati.

    La pagina delle metriche dell'endpoint viene aperta nel portale di Azure.

  5. In studio di Azure Machine Learning, in una pagina endpoint passare alla sezione relativa a una distribuzione e quindi selezionare Visualizza metriche.

    Screenshot di una pagina endpoint in studio che mostra le informazioni sulla distribuzione. Le metriche di distribuzione blu e Visualizza sono evidenziate.

    La pagina delle metriche della distribuzione viene aperta nel portale di Azure.

Accedere alle metriche dal portale di Azure

Un altro modo per visualizzare la pagina delle metriche per un endpoint o una distribuzione consiste nel passare direttamente al portale di Azure:

  1. Vai al portale di Azure.

  2. Passare all'endpoint online o alla risorsa di distribuzione.

    Gli endpoint e le distribuzioni online sono risorse di Azure Resource Manager. È possibile trovarli passando al proprio gruppo di risorse e quindi cercando i tipi di risorse Endpoint online di Machine Learning e distribuzione online di Machine Learning.

  3. Nella pagina della risorsa, in Monitoraggio selezionare Metriche.

    Screenshot del portale di Azure che mostra la pagina Metriche per una distribuzione. Il monitoraggio e le metriche sono evidenziati.

Metriche disponibili

Le metriche visualizzate dipendono dalla risorsa selezionata. Le metriche per gli endpoint online e le distribuzioni online hanno un ambito diverso.

Metriche nell'ambito dell'endpoint

Per informazioni sulle metriche disponibili nell'ambito dell'endpoint online, vedere Metriche supportate per Microsoft.MachineLearningServices/workspaces/onlineEndpoints.

Limitazione della larghezza di banda

La larghezza di banda viene limitata se i limiti di quota vengono superati per gli endpoint online gestiti . Per altre informazioni sui limiti per gli endpoint online, vedere Endpoint online e endpoint batch di Azure Machine Learning nell'articolo sulle quote e sui limiti in Azure Machine Learning. Per determinare se le richieste sono limitate:

  • Monitorare la metrica Byte di rete.
  • Controllare i campi seguenti nei trailer della risposta: ms-azureml-bandwidth-request-delay-ms e ms-azureml-bandwidth-response-delay-ms. I valori dei campi sono i ritardi, in millisecondi, della limitazione della larghezza di banda.

Per altre informazioni, vedere Problemi relativi al limite di larghezza di banda.

Metriche nell'ambito della distribuzione

Per informazioni sulle metriche disponibili nell'ambito di distribuzione, vedere Metriche supportate per Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.

Creare dashboard e avvisi

In Monitoraggio è possibile creare dashboard e avvisi basati sulle metriche.

Creare dashboard e visualizzare query

È possibile creare dashboard personalizzati in modo da poter visualizzare le metriche da più origini nella portale di Azure, incluse le metriche per l'endpoint online. Per altre informazioni sulla creazione di dashboard e sulla visualizzazione delle query, vedere Creare e condividere dashboard di dati di Log Analytics e Creare dashboard KPI personalizzati con Application Insights.

Creare avvisi

È anche possibile creare avvisi personalizzati in modo da ricevere notifiche sugli aggiornamenti importanti dello stato all'endpoint online:

  1. Nella portale di Azure passare a una pagina delle metriche e quindi selezionare Nuova regola di avviso.

    Screenshot del portale di Azure che mostra la pagina Metriche per una distribuzione. La nuova regola di avviso è evidenziata.

  2. Nella finestra Seleziona un segnale selezionare il segnale per cui si vuole creare un avviso e quindi selezionare Applica.

  3. Nella pagina Crea una regola di avviso immettere una soglia e modificare eventuali altre impostazioni che si desidera modificare. Per altre informazioni sulle impostazioni delle regole di avviso, vedere Configurare le condizioni delle regole di avviso. Selezionare quindi Avanti: Azioni.

    Screenshot della pagina Crea una regola di avviso nella portale di Azure. La casella Soglia e Le azioni successive sono evidenziate.

  4. Nella finestra Seleziona gruppi di azioni creare o selezionare un gruppo di azioni per specificare cosa accade quando viene attivato l'avviso. Per altre informazioni, vedere Configurare i dettagli della regola di avviso.

  5. Selezionare Rivedi e crea per completare la creazione dell'avviso.

Ridimensionare automaticamente in base alle metriche

È possibile configurare le distribuzioni per la scalabilità automatica in base alle metriche. Per attivare la funzionalità di scalabilità automatica, è possibile usare l'interfaccia utente o il codice.

Le opzioni per il codice sono l'interfaccia della riga di comando di Azure Machine Learning e Azure Machine Learning SDK per Python. Quando si usa il codice, si configurano le condizioni per attivare il ridimensionamento automatico specificando il nome dell'API REST delle metriche.

Per altre informazioni, vedere Ridimensionare automaticamente gli endpoint online in Azure Machine Learning.

Usare i log

Sono disponibili tre log che è possibile attivare per gli endpoint online:

  • AmlOnlineEndpointTrafficLog: questo log del traffico consente di controllare le informazioni delle richieste all'endpoint. Questo log è utile nei casi seguenti:

    • Una risposta alla richiesta non è 200 e si vogliono altre informazioni. La ResponseCodeReason colonna nel log elenca il motivo. Per le descrizioni dei codici di stato e dei motivi, vedere Codici di stato HTTPS nell'articolo sulla risoluzione dei problemi degli endpoint online.
    • Si vuole cercare il codice di risposta e il motivo della risposta del modello per una richiesta. Le ModelStatusCode colonne e ModelStatusReason forniscono queste informazioni.
    • Si vuole conoscere la durata di una richiesta. I log forniscono una suddivisione della latenza. Tale suddivisione mostra la durata totale, la durata della richiesta, la durata della risposta e il ritardo causato dalla limitazione della rete.
    • Si vuole controllare il numero di richieste recenti riuscite e non riuscite. I log forniscono queste informazioni.
  • AmlOnlineEndpointConsoleLog: questo log contiene istruzioni che i contenitori scrivono come output nella console. Questo log è utile nei casi seguenti:

    • L'avvio di un contenitore non riesce. Il log della console può essere utile per il debug.
    • Si vuole monitorare il comportamento del contenitore e assicurarsi che tutte le richieste siano gestite correttamente.
    • Si vuole tracciare una richiesta dal punto di ingresso di rete di un endpoint online al contenitore. È possibile usare una query di Log Analytics che unisce l'ID richiesta con informazioni dai log AmlOnlineEndpointConsoleLog e AmlOnlineEndpointTrafficLog.
    • Si vuole eseguire un'analisi delle prestazioni, ad esempio, per determinare il tempo impiegato dal modello per elaborare ogni richiesta.
  • AmlOnlineEndpointEventLog: questo log contiene informazioni sugli eventi sul ciclo di vita del contenitore. Attualmente, il log fornisce informazioni sui tipi di eventi seguenti:

    Nome Message
    Backoff Il riavvio del backoff non è riuscito nel contenitore
    Pull completato Immagine del contenitore "<IMAGE_NAME>" già presente nel computer
    Terminazione Probe di attività del server di inferenza del contenitore non riuscito, verrà riavviato
    Data di creazione Creazione del fetcher immagine del contenitore
    Data di creazione Creazione del server di inferenza del contenitore
    Data di creazione Creazione del montaggio del modello del contenitore
    LivenessProbeFailed Probe di attività non riuscito: <FAILURE_CONTENT>
    ReadinessProbeFailed Probe di idoneità non riuscito: <FAILURE_CONTENT>
    Avviato Avvio del fetcher immagine del contenitore
    Avviato Avvio del server di inferenza del contenitore
    Avviato Avvio del montaggio del modello del contenitore
    Terminazione Arresto del server di inferenza del contenitore
    Terminazione Arresto del montaggio del modello di contenitore

Attivare i log

Importante

La registrazione usa la funzionalità Log Analytics di Monitoraggio. Se attualmente non si ha un'area di lavoro Log Analytics, è possibile crearne una seguendo la procedura descritta in Creare un'area di lavoro.

  1. Nella portale di Azure passare al gruppo di risorse che contiene l'endpoint e quindi selezionare l'endpoint.

  2. In Monitoraggio selezionare Impostazioni di diagnostica e quindi selezionare Aggiungi impostazione di diagnostica.

  3. Nella finestra Impostazione di diagnostica immettere le informazioni seguenti:

    • Accanto a Nome impostazione diagnostica immettere un nome per l'impostazione.
    • In Log selezionare le categorie di log da attivare.
    • In Dettagli destinazione selezionare Invia all'area di lavoro Log Analytics e quindi selezionare la sottoscrizione e l'area di lavoro Log Analytics da usare.

    Screenshot della finestra Delle impostazioni di diagnostica. Vengono selezionati tutti i log e l'area di lavoro Invia a Log Analytics. Una sottoscrizione e un'area di lavoro sono visibili.

  4. Seleziona Salva.

    Importante

    La connessione all'area di lavoro Log Analytics può richiedere fino a un'ora. Attendere un'ora prima di continuare con i passaggi nella sezione successiva.

Log di query

  1. Inviare richieste di assegnazione dei punteggi all'endpoint per creare voci nei log.

  2. Vai al portale di Azure. Per aprire i log, usare una delle opzioni seguenti:

    • Passare alla pagina delle proprietà per l'endpoint online. In Monitoraggio, selezionare Log.
    • Andare all'area di lavoro Log Analytics. A sinistra selezionare Log.
  3. Chiudere la finestra dell'hub Query visualizzata per impostazione predefinita.

  4. In Altro fare doppio clic su AmlOnlineEndpointConsoleLog. Se non viene visualizzato AmlOnlineEndpointConsoleLog, immettere tale valore nel campo di ricerca.

    Screenshot della pagina log di portale di Azure per un endpoint. AmlOnlineEndpointConsoleLog è evidenziato nella casella di ricerca e nei risultati.

  5. Selezionare Esegui.

    Screenshot della pagina log di portale di Azure per un endpoint. L'esecuzione è evidenziata e i risultati della query AmlOnlineEndpointConsoleLog sono visibili.

Query di esempio

Le query di esempio sono disponibili per l'uso. Per visualizzare le query, seguire questa procedura:

  1. Nella pagina Log selezionare Query.

  2. Nella casella di ricerca immettere Endpoint online.

    Screenshot della scheda Query della pagina portale di Azure Log. Sono visibili due query di esempio e la scheda Query e la casella di ricerca sono evidenziate.

Dettagli di righe e colonne

Le tabelle seguenti forniscono informazioni dettagliate sui dati archiviati in ogni log:

AmlOnlineEndpointTrafficLog

Proprietà Descrizione
metodo Metodo richiesto dal client.
Percorso Percorso richiesto dal client.
SubscriptionId ID sottoscrizione di Machine Learning dell'endpoint online.
AzureMLWorkspaceId ID dell'area di lavoro di Machine Learning dell'endpoint online.
AzureMLWorkspaceName Nome dell'area di lavoro di Machine Learning dell'endpoint online.
EndpointName Nome dell'endpoint online.
DeploymentName Nome della distribuzione online.
Protocollo Protocollo della richiesta.
ResponseCode Codice di risposta finale restituito al client.
ResponseCodeReason Motivo del codice di risposta finale restituito al client.
ModelStatusCode Codice di stato della risposta del modello.
ModelStatusReason Motivo dello stato della risposta dal modello.
RequestPayloadSize Byte totali ricevuti dal client.
ResponsePayloadSize Byte totali inviati al client.
UserAgent Intestazione user-agent della richiesta, inclusi i commenti ma troncati a un massimo di 70 caratteri.
XRequestId ID richiesta generato da Azure Machine Learning per la traccia interna.
XMSClientRequestId ID di rilevamento generato dal client.
TotalDurationMs Durata in millisecondi dall'ora di inizio della richiesta all'ora di invio dell'ultimo byte di risposta al client. Se il client si disconnette, la durata viene presa dall'ora di inizio all'ora di disconnessione del client.
RequestDurationMs Durata in millisecondi dall'ora di inizio della richiesta all'ora di ricezione dell'ultimo byte della richiesta dal client.
ResponseDurationMs Durata in millisecondi dall'ora di inizio della richiesta all'ora di lettura del primo byte della risposta dal modello.
RequestThrottlingDelayMs Ritardo in millisecondi nel trasferimento dei dati della richiesta a causa della limitazione di rete.
ResponseThrottlingDelayMs Ritardo in millisecondi nel trasferimento dei dati di risposta a causa della limitazione della rete.

AmlOnlineEndpointConsoleLog

Proprietà Descrizione
TimeGenerated Timestamp UTC dell'ora in cui viene generato il log
OperationName Operazione associata al record di log
InstanceId ID dell'istanza che genera il record di log
DeploymentName Nome della distribuzione associata al record di log
ContainerName Nome del contenitore in cui viene generato il log
Message Contenuto del log

AmlOnlineEndpointEventLog

Proprietà Descrizione
TimeGenerated Timestamp UTC dell'ora in cui viene generato il log
OperationName Operazione associata al record di log
InstanceId ID dell'istanza che genera il record di log
DeploymentName Nome della distribuzione associata al record di log
Nome Il nome dell'evento
Message Contenuto dell'evento

Usare Application Insights

Gli ambienti curati includono l'integrazione con Application Insights. Grazie a questa integrazione, le metriche e i log predefiniti vengono inviati ad Application Insights. Di conseguenza, è possibile usare le funzionalità predefinite di Application Insights per un'ulteriore analisi. Tra gli esempi di queste funzionalità sono incluse le metriche attive, la ricerca delle transazioni, la visualizzazione errori e la visualizzazione delle prestazioni.

Per maggiori informazioni, consultare la sezione Panoramica di Application Insights.

È possibile attivare l'integrazione con Application Insights quando si crea una distribuzione online in Studio. Nella pagina Distribuzione, in Diagnostica di Application Insights selezionare Abilitato.

Screenshot della pagina Distribuzione studio quando un utente crea un endpoint online. L'impostazione di diagnostica di Application Insights è evidenziata.

Quando si attiva Application Insights, è possibile visualizzare grafici di monitoraggio attività di alto livello per un endpoint online gestito. In Studio passare alla pagina dell'endpoint e quindi selezionare la scheda Monitoraggio .

Screenshot della scheda Monitoraggio in una pagina endpoint di Studio. La scheda Monitoraggio è evidenziata. Un grafico mostra le richieste al minuto all'endpoint.