Dela via


Diagnostisera vanliga scenarier med Service Fabric

Den här artikeln illustrerar vanliga scenarier som användare har stött på när det gäller övervakning och diagnostik med Service Fabric. De scenarier som presenteras omfattar alla tre skikten av service fabric: Program, kluster och infrastruktur. Varje lösning använder Application Insights- och Azure Monitor-loggar, Azure-övervakningsverktyg, för att slutföra varje scenario. Stegen i varje lösning ger användarna en introduktion till hur du använder Application Insights- och Azure Monitor-loggar i samband med Service Fabric.

Anteckning

Den här artikeln uppdaterades nyligen för att använda termen Azure Monitor-loggar i stället för Log Analytics. Loggdata lagras fortfarande på en Log Analytics-arbetsyta och samlas fortfarande in och analyseras av samma Log Analytics-tjänst. Vi uppdaterar terminologin för att bättre återspegla loggarnas roll i Azure Monitor. Mer information finns i Terminologiändringar i Azure Monitor .

Krav och rekommendationer

Lösningarna i den här artikeln använder följande verktyg. Vi rekommenderar att du har konfigurerat följande:

Hur kan jag se ohanterade undantag i mitt program?

  1. Gå till din Application Insights-resurs som ditt program har konfigurerats med.

  2. Klicka på Sök längst upp till vänster. Klicka sedan på filtrera på nästa panel.

    AI-översikt

  3. Du ser många typer av händelser (spårningar, begäranden, anpassade händelser). Välj "Undantag" som filter.

    AI-filterlista

    Genom att klicka på ett undantag i listan kan du titta på mer information, inklusive tjänstkontexten om du använder Service Fabric Application Insights SDK.

    AI-undantag

Hur gör jag för att visa vilka HTTP-anrop som används i mina tjänster?

  1. I samma Application Insights-resurs kan du filtrera på "begäranden" i stället för undantag och visa alla begäranden som görs

  2. Om du använder Service Fabric Application Insights SDK kan du se en visuell representation av dina tjänster som är anslutna till varandra och antalet lyckade och misslyckade begäranden. Till vänster klickar du på "Programkarta"

    AI App Map BladeAI App Map

    Mer information om programkartan finns i dokumentationen för programkartan

Hur gör jag för att skapa en avisering när en nod stängs av

  1. Nodhändelser spåras av Service Fabric-klustret. Gå till Service Fabric Analytics-lösningsresursen med namnet ServiceFabric(NameofResourceGroup)

  2. Klicka på diagrammet längst ned på bladet med rubriken "Sammanfattning"

    Lösning för Azure Monitor-loggar

  3. Här har du många grafer och paneler som visar olika mått. Klicka på ett av graferna så tar det dig till loggsökningen. Här kan du fråga efter klusterhändelser eller prestandaräknare.

  4. Ange följande fråga. Dessa händelse-ID:er finns i referensen för Node-händelser

    ServiceFabricOperationalEvent
    | where EventID >= 25622 and EventID <= 25626
    
  5. Klicka på "Ny aviseringsregel" högst upp och när en händelse kommer baserat på den här frågan får du en avisering i din valda kommunikationsmetod.

    Azure Monitor loggar ny avisering

Hur kan jag få aviseringar om återställningar av programuppgradering?

  1. I samma loggsökningsfönster som innan anger du följande fråga för uppgraderingsåterställning. De här händelse-ID:na finns under Referens för programhändelser

    ServiceFabricOperationalEvent
    | where EventID == 29623 or EventID == 29624
    
  2. Klicka på "Ny aviseringsregel" högst upp och när en händelse kommer baserat på den här frågan får du en avisering.

Hur gör jag för att ser du containermått?

I samma vy med alla grafer visas några paneler för dina containrars prestanda. Du behöver Log Analytics-agenten och containerövervakningslösningen för att dessa paneler ska fyllas i.

Log Analytics-containermått

Anteckning

Om du vill instrumentera telemetri inifrån containern måste du lägga till Nuget-paketet Application Insights för containrar.

Hur kan jag övervaka prestandaräknare?

  1. När du har lagt till Log Analytics-agenten i klustret måste du lägga till de specifika prestandaräknare som du vill spåra. Gå till Log Analytics-arbetsytans sida i portalen – från lösningssidan finns arbetsytefliken på den vänstra menyn.

    Fliken Log Analytics-arbetsyta

  2. När du är på arbetsytans sida klickar du på "Avancerade inställningar" på samma vänstra meny.

    Avancerade inställningar för Log Analytics

  3. Klicka på Data > Windows-prestandaräknare (Data > Linux-prestandaräknare för Linux-datorer) för att börja samla in specifika räknare från dina noder via Log Analytics-agenten. Här är exempel på formatet för räknare som ska läggas till

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

    • Processor(_Total)\\% Processor Time

      I snabbstarten är VotingData och VotingWeb de processnamn som används, så spårning av dessa räknare skulle se ut som

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

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

      Log Analytics Perf-räknare

  4. På så sätt kan du se hur infrastrukturen hanterar dina arbetsbelastningar och ange relevanta aviseringar baserat på resursutnyttjande. Du kanske till exempel vill ange en avisering om den totala processoranvändningen överstiger 90 % eller under 5 %. Räknarnamnet som du skulle använda för detta är "% processortid". Du kan göra detta genom att skapa en aviseringsregel för följande fråga:

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

Hur gör jag för att spåra prestanda för mina Reliable Services och Actors?

Om du vill spåra prestanda för Reliable Services eller Actors i dina program bör du även samla in räknare för Service Fabric Actor, Actor Method, Service och Service Method. Här är exempel på tillförlitliga prestandaräknare för tjänst- och aktörsprestanda som ska samlas in

Anteckning

Service Fabric-prestandaräknare kan för närvarande inte samlas in av Log Analytics-agenten, men kan samlas in av andra diagnostiklösningar

  • 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

Se de här länkarna för en fullständig lista över prestandaräknare på Reliable Services and Actors

Nästa steg