Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le opzioni per la diagnosi dei problemi con gli SDK per attività permanenti dipendono dal calcolo Azure in uso, ad esempio App contenitore di Azure, un cluster servizio Azure Kubernetes o un'app Servizio app di Azure. È consigliabile abilitare Application Insightse il dashboard di monitoraggio dello Scheduler per attività durevoli per ottenere una visione completa dello stato e dei fallimenti dell'orchestrazione.
Approfondimenti sulle Applicazioni
Application Insights è il modo consigliato per monitorare le app in esecuzione negli SDK di Durable Task. È possibile trovare ed eseguire query su questi eventi di rilevamento usando lo strumento Application Insights Analytics nel portale di Azure.
Ogni evento del ciclo di vita di un'istanza di orchestrazione scrive un evento di rilevamento nella raccolta di tracce in Application Insights. Usare le dimensioni personalizzate in questi eventi (ad esempio prop__instanceId, prop__namee prop__runtimeStatus) per filtrare ed eseguire query su orchestrazioni specifiche.
| Servizio di calcolo | Istruzioni per la registrazione dei log diagnostici |
|---|---|
| App contenitore di Azure | Monitorare i log nelle App contenitore di Azure con Log Analytics |
| Servizio app di Azure | Abilitare la registrazione diagnostica per le app in Servizio app di Azure |
| Servizio Azure Kubernetes | Monitorare il servizio Azure Kubernetes |
Interrogazioni di esempio
Dopo aver abilitato Application Insights, usare queste query KQL nei log per analizzare il comportamento dell'orchestrazione:
Trova orchestrazioni non riuscite:
traces
| where customDimensions.prop__runtimeStatus == "Failed"
| project timestamp, customDimensions.prop__instanceId, customDimensions.prop__name, message
| order by timestamp desc
| take 50
Durata dell'orchestrazione per nome (nelle ultime 24 ore):
traces
| where timestamp > ago(24h)
| where customDimensions.prop__runtimeStatus == "Completed"
| extend duration = todatetime(customDimensions.prop__completedTime) - todatetime(customDimensions.prop__createdTime)
| summarize avg(duration), max(duration), count() by tostring(customDimensions.prop__name)
Traccia distribuita con OpenTelemetry
Gli SDK di Durable Task supportano il tracciamento distribuito OpenTelemetry, che offre visibilità end-to-end tra orchestrazioni, attività e sotto-orchestrazioni come segmenti correlati. È possibile esportare tracce in qualsiasi back-end compatibile con OpenTelemetry, tra cui Application Insights, Jaeger o Zipkin.
Per istruzioni di configurazione con esempi di codice in tutti i linguaggi supportati, vedere OpenTelemetry e la traccia distribuita con Durable Task Scheduler.
Dashboard di monitoraggio di Durable Task Scheduler
Il dashboard di Durable Task Scheduler consente di monitorare lo stato dell'orchestrazione, esaminare gli input/output, visualizzare le sequenze temporali di esecuzione e gestire le orchestrazioni (avviare, sospendere, riprendere, terminare). È disponibile sia con l'emulatore locale che con le utilità di pianificazione ospitate Azure.
Accedere al dashboard
-
Emulatore locale: nessuna autenticazione necessaria. Il dashboard è disponibile in
http://localhost:8082. - Utilità di pianificazione ospitata Azure: assegna il ruolo di Collaboratore dei Dati di Task Durable alla tua identità, quindi accedi alla dashboard tramite l'URL dell'endpoint dell'hub attività nel portale di Azure o in
https://dashboard.durabletask.io/.
Per istruzioni complete sull'installazione e sull'utilizzo, vedere Eseguire il debug e gestire le orchestrazioni usando il dashboard dell'Utilità di pianificazione attività permanenti.
Problemi comuni
| Sintomo | Possibile causa | Resolution |
|---|---|---|
| Orchestrazione bloccata su "In esecuzione" | L'attività ha generato un'eccezione non gestita e non è configurato alcun criterio di ripetizione dei tentativi | Controllare Application Insights per informazioni dettagliate sulle eccezioni; aggiungere una politica di ripetizione o un blocco try/catch nell'orchestratore. |
| L'attività continua a riprovare a tempo indeterminato | La politica di ritentativo non ha alcun limite maxNumberOfAttempts |
Impostare un numero massimo di tentativi nella configurazione dei criteri di ripetizione dei tentativi |
| L'orchestrazione non si avvia | L'operatore non esegue il polling dell'hub delle attività corretto | Verificare che il nome del task hub della stringa di connessione corrisponda alla risorsa dello scheduler |
| Nessuna traccia in Application Insights | Stringa di connessione non configurata o SDK che non genera dati di telemetria | Verificare che sia impostato APPLICATIONINSIGHTS_CONNECTION_STRING; assicurarsi che l'origine OpenTelemetry Microsoft.DurableTask sia registrata |
| Il dashboard non mostra orchestrazioni | Assegnazione di ruolo mancante o errata nel hub delle attività selezionato | Verificare di avere il ruolo Collaboratore dati attività permanenti ; controllare il nome dell'hub attività nell'URL del dashboard |
| Orchestrazione completata, ma il risultato è vuoto | Attività restituita null o serializzazione non riuscita |
Esaminare gli output delle attività nella visualizzazione cronologia del dashboard; Controllare la configurazione del serializzatore |