Monitoraggio cronologico tramite le metriche delle chiamate WCF

Nella sezione Cronologia chiamate WCF viene visualizzata la metrica cronologica per le chiamate WCF in entrata nei servizi WCF e WF di .NET Framework 4 gestiti da AppFabric. Le metriche di riepilogo Completato ed Errori forniscono un totale cumulativo delle operazioni riuscite e non riuscite a seguito delle chiamate WCF ricevute. È possibile espandere la sezione Cronologia chiamate WCF (facendo clic sulla freccia giù oppure in un punto qualsiasi eccetto i collegamenti delle metriche di riepilogo all'interno della barra del titolo di Cronologia chiamate WCF) per visualizzare i primi cinque servizi con Chiamate completate o Eccezioni del servizio. In tal modo è possibile visualizzare il numero di Errori - Raggruppati per tipi comuni. Tali valori di riepilogo di livello superiore e le relative visualizzazioni dettagliate correlate discendenti possono essere utilizzati per monitorare la cronologia delle chiamate WCF per i servizi in uso.

Metriche di Cronologia chiamate WCF

Nella sezione Cronologia chiamate WCF del Dashboard AppFabric viene fornita una visualizzazione di riepilogo delle chiamate del servizio WCF nella casella di intestazione ombreggiata in cui è presente il titolo Cronologia chiamate WCF. Le metriche seguenti forniscono una visualizzazione struttura rapida delle chiamate WCF completate correttamente e di quelle non completate:

  • La metrica di riepilogo Completato è il totale cumulativo delle chiamate WCF ricevute che sono state completate senza generazione di errori o eccezioni, ma che hanno dato luogo al tipo di evento WCF OperationCompleted.

  • La metrica Errori è il totale cumulativo che rappresenta tutte le eccezioni relative a WCF e gli errori definiti dall'utente che si verificano nell'intero stack WCF stack. In questo conteggio sono inclusi, tra gli altri, gli errori risultanti dal numero di chiamate non riuscite oppure errate.

  • La metrica Raggiungimenti limiti fornisce un conteggio del numero di periodi di limitazione che si verificano per ciascuno dei servizi distribuiti all'interno dell'ambito applicabile. Un periodo di limitazione ha inizio quando viene superata una soglia di limitazione WCF. Il periodo termina quando la limitazione scende al di sotto del 70% della soglia di limitazione.

Al di sotto delle metriche di riepilogo sono presenti le seguenti metriche di servizio, che forniscono il riepilogo del numero di servizi all'interno di specifiche categorie di chiamate in ordine decrescente:

  • Chiamate completate - Raggruppati per servizio (primi 5): i primi cinque servizi con il numero totale di chiamate WCF completate più alto entro un periodo di tempo specificato.

  • Eccezioni del servizio - Raggruppati per servizio (primi 5): i primi cinque servizi con il numero totale di eccezioni più alto entro un periodo di tempo specificato.

  • Errori - Raggruppati per tipi comuni: gruppo del numero totale di eccezioni del servizio o di errori definiti dall'utente. Il conteggio delle eccezioni del servizio viene suddiviso ulteriormente in base a due delle cause più comuni: chiamate non riuscite e chiamate errate. Le eccezioni del servizio possono inoltre essere causate da problemi diversi da chiamate non riuscite oppure errate, ad esempio da errori di attivazione.

Non tutti gli eventi WCF rilevati vengono inclusi nelle colonne Chiamate completate - Raggruppati per servizio (primi 5) o Eccezioni del servizio - Raggruppati per servizio (primi 5) all'interno del Dashboard. Gli eventi visualizzati in queste colonne "primi 5" non includono quelli emessi dal servizio AppFabric interno che gestisce gli endpoint e gli eventi. Solo gli eventi con un percorso virtuale del servizio completo verranno visualizzati in queste due colonne. Gli eventi generati più in alto nello stack di canale WCF, ad esempio le richiamate e le eccezioni del servizio, non contengono un percorso virtuale del servizio completo. Gli eventi che non contengono un percorso virtuale del servizio completo sono esclusi da tali contatori. In tal modo viene garantito che solo i servizi utente, non le applicazioni utente, siano presenti in tali valori contatore.

Pagina Eventi rilevati

La pagina Eventi rilevati consente di ottenere una visualizzazione cronologica degli eventi che si sono verificati durante una particolare sequenza di chiamate WCF per un'istanza di servizio. Se si fa clic su una qualsiasi metrica (ad esempio Completato) o su uno dei collegamenti di servizio in una colonna della sezione Cronologia chiamate WCF (ad esempio nella colonna Chiamate completate), si viene indirizzati alla pagina Eventi rilevati.

Pagina Eventi rilevati

Il collegamento sul quale si fa clic per passare dalla pagina Dashboard AppFabric alla pagina Eventi rilevati viene utilizzato per filtrare la chiamata WCF e i dati evento in modo che l'enumerazione presente nella pagina Eventi rilevati sia specifica per tale collegamento di origine. Se, ad esempio, si fa clic sul collegamento di una voce di servizio nella colonnaEccezioni del servizio - Raggruppati per servizio (primi 5) si viene indirizzati alla pagina Eventi rilevati. In questa pagina vengono enumerati gli eventi filtrati in base al tipo di evento di servizio (in questo caso Eccezioni WCF) e l'orario di creazione che corrisponde alla metrica e al periodo di tempo selezionati dal Dashboard AppFabric.

È possibile, tuttavia, modificare il valore di uno o più campi (ad esempio Eventi) all'interno del frame Riepilogo query per modificare l'output iniziale ed eseguire un'ulteriore risoluzione dei problemi per uno specifico tipo di evento. Ad esempio, se la metrica originale per la visualizzazione della pagina Eventi rilevati era Eccezioni WCF, è possibile modificare il valore del campo Eventi in Tutti gli eventi WCF e quindi fare clic su Esegui query per visualizzare risultati diversi.

Le opzioni riportate di seguito possono essere utilizzate per filtrare i tipi di eventi che vengono visualizzati:

  • Tutti gli eventi WCF: visualizza tutti gli eventi WCF disponibili nell'archivio di monitoraggio, tra cui, WCF Chiamate completate, WCF Eccezioni, WCF Chiamate non riuscite e WCF Chiamate errate.

  • Chiamate completate WCF: visualizza tutte le chiamate WCF completate.

  • Tutti gli errori WCF: visualizza tutti gli eventi emessi a livello di errore, eventi di eccezioni del servizio ed eventi di errori definiti dall'utente.

  • Eccezioni WCF: visualizza tutte le eccezioni del servizio WCF.

  • Errori definiti dall'utente WCF: visualizza tutti gli eventi definiti dall'utente emessi a livello di errore.

  • Chiamate non riuscite WCF: visualizza tutte le chiamate WCF non riuscite.

  • Chiamate con errore WCF: visualizza tutte le chiamate WCF errate.

  • Raggiungimenti limiti WCF: visualizza gli eventi di limitazione WCF. Ciascun evento rappresenta un periodo di limitazione e viene emesso quando si supera per la prima volta la soglia di limitazione.

  • Tutti gli eventi WF: visualizza tutti gli eventi WF.

Per ulteriori informazioni, vedere Tracked Events Page.

Risoluzione dei problemi tramite il monitoraggio delle metriche di Cronologia chiamate WCF

È possibile assemblare le informazioni precedenti in un approccio di risoluzione dei problemi tramite l'utilizzo della sezione Cronologia chiamate WCF per monitorare le chiamate WCF nei servizi .NET Framework. Quando si visualizza inizialmente la sezione Cronologia chiamate WCF, si ottiene una visualizzazione di riepilogo ad alto livello dello stato delle chiamate WCF. È possibile visualizzare rapidamente la presenza di un problema al livello di chiamata WCF in base alle eccezioni, alle chiamate non riuscite o errate verificatesi. Se una delle metriche di riepilogo Eccezioni del servizio - Raggruppati per servizio (primi 5) o Errori - Raggruppati per tipi comuni contiene un valore diverso da zero, indica il punto in cui potrebbe essersi verificato un problema. Ogni metrica di riepilogo è collegata alla pagina Eventi rilevati, nella quale è possibile vedere le metriche dettagliate esplicite dei dati delle chiamate WCF riepilogate a livello superiore nella pagina Dashboard AppFabric iniziale. Tali dati non elaborati forniscono informazioni aggiuntive per isolare un problema relativo alle chiamate WCF.

Si consideri uno scenario in cui si utilizza la sezione Cronologia chiamate WCF per monitorare le chiamate WCF per i servizi WCF o WF in un dato ambito per eventuali problemi. Se la metrica di riepilogo Eccezioni riporta un valore diverso da zero, espandendo il widget sarà possibile visualizzare una suddivisione delle eccezioni in base ai primi cinque servizi. Ciò consente di concentrarsi sui servizi con il maggior numero di problemi potenziali. A questo punto è possibile passare su uno specifico servizio problematico e specificare i dettagli visualizzando la pagina delle enumerazioni e modificando i valori di query.

Si supponga che l'intestazione di riepilogo Errori del widget Cronologia chiamate WCF contenga un valore diverso da zero, a indicare che si sono verificati degli errori. È possibile espandere il widget Cronologia chiamate WCF e guardare nella colonna Eccezioni del servizio - Raggruppati per servizio (primi 5) per vedere i primi cinque servizi in cui si è verificato il maggior numero di eccezioni durante il periodo di tempo selezionato. È inoltre possibile guardare nella colonna Errori - Raggruppati per tipi comuni per vedere una suddivisione dei tipi di errori: Eccezioni del servizio (causate per la maggior parte da chiamate non riuscite oppure errate) oppure Errori definiti dall'utente. Per ottenere più dettagli sugli errori o sulle eccezioni, è possibile fare clic su uno dei collegamenti di servizio che consentono di visualizzare la pagina Eventi rilevati.

Nota

Se il Servizio X è uno dei primi cinque servizi, verrà visualizzato in questa pagina. In tal caso, è possibile fare clic sul relativo collegamento di servizio e verrà visualizzata la pagina Eventi rilevati. Se il Servizio X non è uno dei primi cinque servizi, è possibile fare clic su una qualsiasi delle metriche all'interno della sezione e visualizzare la pagina Eventi rilevati. Una volta visualizzata la pagina, è possibile modificare di conseguenza la query esistente (vale a dire, aggiungere la condizione relativa al nome di servizio appropriato).

La pagina Eventi rilevati viene popolata con una visualizzazione cronologica delle eccezioni verificatesi nell'ambito specifico della gerarchia IIS X. È possibile fare clic su uno degli eventi Eccezioni WCF dell'elenco (sempre all'interno della pagina Eventi rilevati) per visualizzare informazioni specifiche per quella eccezione nel riquadro Dettagli sul fondo della pagina. All'interno del riquadro Dettagli è possibile visualizzare le informazioni sull'eccezione nelle schede Panoramica, Variabili rilevate oppure Errori. La scheda Panoramica contiene informazioni generali sull'evento, ad esempio E2EActivityID (utilizzato per la correlazione nel rilevamento end-to-end), EventType, ExceptionTypeName, EventSourceId e altre informazioni relative all'evento. Nella scheda Variabili rilevate vengono mostrati i valori di tutte le variabili rilevate in modo esplicito che sono memorizzate nell'evento. Nella scheda Errori vengono fornite le informazioni dell'eccezione relative all'esito negativo, se disponibili. Tali informazioni possono essere utilizzate per comprendere meglio e per risolvere le eccezioni WCF.

Se si desidera ulteriore contesto sull'eccezione WCF è possibile fare clic con il pulsante destro del mouse sull'evento nell'elenco e quindi fare clic su Visualizza istanze WF rilevate. Tale funzionalità è disponibile solo per le Eccezioni del servizio WCF emesse da Servizi flusso di lavoro, tramite cui nella pagina Istanze WF rilevate verranno visualizzati tutti gli eventi disponibili per l'istanza padre. È inoltre possibile scegliere Visualizza tutti gli eventi correlati nel menu di scelta rapida per una chiamata WCF. In tal modo la pagina Eventi rilevati viene aggiornata e popolata con tutti gli eventi correlati all'evento iniziale.

Nota

Per utilizzare l'opzione Visualizza tutti gli eventi correlati, è necessario impostare il livello di monitoraggio per l'applicazione su Monitoraggio End-to-End o superiore. Tale livello indica all'infrastruttura Monitoraggio di raccogliere gli eventi di trasferimento che associano un ID attività end-to-end (E2EActivityId) all'altro.

In alternativa, è possibile osservare la colonna Eccezioni del servizio - Raggruppati per servizio (primi 5) e visualizzare il numero di Chiamate non riuscite o di Chiamate errate. Il numero totale di Chiamate non riuscite o di Chiamate errate contribuisce al numero totale di Eccezioni WCF rappresentato nel riquadro di riepilogo della sezione. Facendo clic sul collegamento di una di queste opzioni, si viene indirizzati alla pagina Eventi rilevati. A seconda del collegamento sul quale è stato fatto clic, verrà visualizzato un evento numerato di eventi rispettivamente per le Chiamate non riuscite WCF o per le Chiamate con errore WCF. Come descritto in precedenza, selezionando uno degli eventi di chiamata nell'elenco numerato, nel riquadro Dettagli vengono fornite informazioni aggiuntive. È inoltre possibile fare clic con il pulsante destro del mouse sull'opzione Visualizza tutti gli eventi correlati oppure Visualizza istanze WF rilevate, se applicabile.

Per informazioni su come ottenere informazioni più specifiche su un evento rilevato in modo da consentire la soluzione di un problema, vedere Tracked Events Page.

Visualizzazione delle informazioni di errore WCF

In AppFabric le informazioni sugli errori basati su WCF vengono visualizzate solo quando il livello di monitoraggio di un'applicazione viene configurato almeno su Monitoraggio End-to-End. Tale livello acquisisce il flusso di messaggi WCF tra due servizi e il rapporto tra gli eventi WF e WCF. Per i livelli di monitoraggio pari e inferiori a Monitoraggio dello stato, eventuali informazioni sugli errori basati su WCF non verranno visualizzate all'interno delle seguenti sezioni:

  • Colonne Errori o Eccezioni del servizio all'interno della sezione Cronologia chiamate WCF della pagina Dashboard AppFabric.

  • Scheda Errori del riquadro Dettagli nella pagina Eventi rilevati.

  • Tutte le sezioni della pagina Eventi rilevati nelle quali vengono visualizzati gli eventi WCF grazie ai criteri di query.

Ad esempio, nella scheda Errori della pagina Eventi rilevati gli eventi di trasferimento WCF vengono utilizzati per raccogliere le informazioni sulle eccezioni dall'evento di eccezione Modello di servizio corrispondente a un evento chiamata non riuscita o errate WCF. Se l'applicazione monitorata è configurata per l'utilizzo di un livello di monitoraggio al di sotto del livello Monitoraggio End-to-End, gli eventi di trasferimento WCF non verranno acquisiti. In tal modo, nella scheda Errori del riquadro Dettagli non verrà visualizzato alcun valore.

Se si utilizza il Monitoraggio End-to-End per acquisire gli eventi di trasferimento e non si desidera raccogliere eventi WF aggiuntivi, effettuare la procedura fornita di seguito:

  1. Aprire il file di configurazione radice del server C:\Windows\Microsoft.NET\Framework(64)\v4.0.xxx\CONFIG\Web.config.

  2. Copiare negli Appunti tutto il codice compreso tra le voci <trackingProfile name="HealthMonitoring Tracking Profile"> e </trackingProfile> comprese. Di seguito viene fornito un esempio di tale copia.

    <trackingProfile name="HealthMonitoring Tracking Profile">
       <workflow activityDefinitionId="*">
    <workflowInstanceQueries>
    <workflowInstanceQuery>
       <states>
    <state name="Started" />
    <state name="Completed" />
    <state name="Terminated" />
    <state name="Canceled" />
    <state name="Unsuspended" />
    <state name="Persisted" />
    <state name="Aborted" />
    <state name="UnhandledException" />
       </states>
    </workflowInstanceQuery>
    </workflowInstanceQueries>
    
    <activityStateQueries>
    <activityStateQuery activityName="*">
    <states>
    <state name="Closed" />
    </states>
    </activityStateQuery>
    </activityStateQueries>
    
    <faultPropagationQueries>
       <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
    </faultPropagationQueries>
    
    <customTrackingQueries>
    <customTrackingQuery name="*" activityName="*" />
    </customTrackingQueries>
    </workflow>
    </trackingProfile>
    
  3. Modificare il file Web.config dell'applicazione. Verificare l'esistenza di una nidificazione di elementi completa e valida di <system.serviceModel><tracking><profiles><trackingProfile> all'interno della quale verrà incollato il contenuto dell'elemento <trackingProfile> in passaggi successivi.

  4. All'inizio della sezione <system.serviceModel><tracking><profiles>, aggiungere <remove name=”EndToEndMonitoring Tracking Profile” />.

  5. Nella stessa sezione, proprio sotto il tag remove appena aggiunto, incollare lo snippet del codice copiato negli Appunti nel passaggio 2.

  6. Sostituire il testo HealthMonitoring Tracking Profile con EndToEndMonitoring Tracking Profile nel file Web.config dell'applicazione. Salvare il file e uscire dall'editor.

  7. Mediante il dispositivo di scorrimento all'interno della finestra di dialogo Configura WCF e WF per Applicazione, modificare Livello di monitoraggio dell'applicazione in End-To-End. AppFabric utilizzerà la voce del profilo di rilevamento end-to-end del file Web.config dell'applicazione, che non è altro che il profilo di rilevamento per il livello Monitoraggio stato nascosto sotto la voce del profilo di rilevamento end-to-end.

Vedere anche

Altre risorse

Tracked Events Page

  2012-03-05