Scenari comuni di diagnosi con Service Fabric

Questo articolo illustra gli scenari comuni affrontati dagli utenti nell'ambito del monitoraggio e della diagnostica con Service Fabric. Gli scenari illustrati coprono tutti e tre i livelli di Service Fabric: applicazione, cluster e infrastruttura. Ogni soluzione usa gli strumenti di monitoraggio di Azure, ovvero i log di Application Insights e Monitoraggio di Azure, per completare ogni scenario. I passaggi in ogni soluzione offrono agli utenti un'introduzione su come usare i log di Application Insights e Monitoraggio di Azure nel contesto di Service Fabric.

Prerequisiti e indicazioni

Nelle soluzioni descritte in questo articolo verranno usati gli strumenti seguenti. È consigliabile installarli e configurarli:

Come visualizzare le eccezioni non gestite nell'applicazione

  1. Passare alla risorsa di Application Insights con cui l'applicazione è configurata.

  2. Selezionare Cerca in alto a sinistra. Selezionare quindi Filtro nel pannello successivo.

    Panoramica di Application Insights

  3. Verranno visualizzati molti tipi di eventi (tracce, richieste, eventi personalizzati). Scegliere "Eccezione" come filtro.

    Elenco di filtri AI

    Se si fa clic su un'eccezione nell'elenco, è possibile visualizzare altri dettagli, incluso il contesto del servizio se si usa Service Fabric Application Insights SDK.

    Eccezione AI

Come visualizzare le chiamate HTTP usate nei servizi

  1. Nella stessa risorsa di Application Insights è possibile filtrare in base alle "richieste" invece che alle eccezioni e visualizzare tutte le richieste effettuate

  2. Se si usa Service Fabric Application Insights SDK, è possibile visualizzare una rappresentazione visiva della connessione tra i servizi e il numero di richieste con esito positivo e negativo. A sinistra selezionare "Mappa applicazioni"

    Pannello Mappa app per intelligenza artificialeMappa delle app per intelligenza artificiale

    Per altre informazioni sulla mappa delle app, vedere la documentazione sulla mappa delle applicazioni

Come creare un avviso quando un nodo diventa inattivo

  1. Il cluster di Service Fabric tiene traccia degli eventi dei nodi. Passare alla risorsa della soluzione Analisi Service Fabric denominata ServiceFabric(NameofResourceGroup)

  2. Selezionare il grafico nella parte inferiore del pannello intitolato "Riepilogo"

    Soluzione di log di Monitoraggio di Azure

  3. Sono disponibili molti grafici e riquadri con diverse metriche. Selezionare uno dei grafici per passare a Ricerca log. dove è possibile cercare gli eventi del cluster o i contatori delle prestazioni.

  4. Immettere la query seguente. Questi ID evento sono inclusi nella documentazione di riferimento sugli eventi dei nodi

    ServiceFabricOperationalEvent
    | where EventID >= 25622 and EventID <= 25626
    
  5. Selezionare "Nuova regola di avviso" nella parte superiore. Da questo momento, ogni volta che arriva un evento basato su questa query, si riceverà un avviso tramite il metodo di comunicazione scelto.

    Nuovo avviso dei log di Monitoraggio di Azure

Come essere avvisati dei ripristini dello stato precedente dell'aggiornamento dell'applicazione?

  1. Sempre nella finestra Ricerca log descritta in precedenza immettere la query seguente per i ripristini dello stato precedente all'aggiornamento. Questi ID evento sono inclusi nella documentazione di riferimento sugli eventi dell'applicazione

    ServiceFabricOperationalEvent
    | where EventID == 29623 or EventID == 29624
    
  2. Selezionare "Nuova regola di avviso" nella parte superiore. Da questo momento, ogni volta che arriva un evento basato su questa query, si riceverà un avviso.

Come visualizzare le metriche dei contenitori

Nella stessa visualizzazione con tutti i grafici si noteranno alcuni riquadri per le prestazioni dei contenitori. Sono necessari l'agente di Log Analytics e la soluzione Monitoraggio contenitori per popolare questi riquadri.

Metriche del contenitore di Log Analytics

Nota

Per instrumentare i dati di telemetria dall'interno del contenitore, sarà necessario aggiungere il pacchetto nuget di Application Insights per i contenitori.

Come monitorare i contatori delle prestazioni

  1. Dopo aver aggiunto l'agente di Log Analytics al cluster, è necessario aggiungere i contatori delle prestazioni specifici di cui si vuole tenere traccia. Passare alla pagina dell'area di lavoro Log Analytics nel portale. Nella pagina della soluzione la scheda dell'area di lavoro è nel menu a sinistra.

    Scheda dell'area di lavoro Log Analytics

  2. Nella pagina dell'area di lavoro selezionare "Impostazioni avanzate" nello stesso menu a sinistra.

    Impostazioni avanzate di Log Analytics

  3. Selezionare Dati > Contatori delle prestazioni di Windows (Dati > Contatori delle prestazioni di Linux per i computer Linux) per avviare la raccolta di contatori specifici dai nodi tramite l'agente di Log Analytics. Ecco alcuni esempi del formato dei contatori da aggiungere

    • .NET CLR Memory(<ProcessNameHere>)\\# Total committed Bytes

    • Processor(_Total)\\% Processor Time

      Nella guida introduttiva vengono usati i nomi di processo VotingData e VotingWeb, quindi il codice per tenere traccia di questi contatori sarà simile ai seguenti

    • .NET CLR Memory(VotingData)\\# Total committed Bytes

    • .NET CLR Memory(VotingWeb)\\# Total committed Bytes

      Contatori delle prestazioni Log Analytics

  4. Ciò permette di visualizzare come l'infrastruttura gestisce i carichi di lavoro e di impostare avvisi pertinenti in base all'utilizzo delle risorse. È ad esempio possibile impostare un avviso se l'utilizzo totale del processore è superiore al 90% o inferiore al 5%. Il nome del contatore usato in questo caso sarà "% Processor Time". A questo scopo, è possibile creare una regola di avviso per la query seguente:

    Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | where CounterValue >= 90 or CounterValue <= 5.
    

Come tenere traccia delle prestazioni di Reliable Services e Actors

Per tenere traccia delle prestazioni di Reliable Services o Actors nelle applicazioni, è consigliabile raccogliere anche i contatori Actor di Service Fabric, Metodo Actor, Service e Metodo Service. Di seguito sono riportati alcuni esempi di contatori delle prestazioni di Reliable Service e Actor per la raccolta

Nota

Attualmente i contatori delle prestazioni in Service Fabric non possono essere raccolti dall'agente di Log Analytics, ma possono essere raccolti da altre soluzioni di diagnostica

  • Service Fabric Service(*)\\Average milliseconds per request
  • Service Fabric Service Method(*)\\Invocations/Sec
  • Service Fabric Actor(*)\\Average milliseconds per request
  • Service Fabric Actor Method(*)\\Invocations/Sec

Fare clic su questi collegamenti per l'elenco completo dei contatori delle prestazioni per Reliable Services e Actors

Passaggi successivi