Dela via


Metodtips för övervakning och diagnostik för Azure Service Fabric

Övervakning och diagnostik är avgörande för att utveckla, testa och distribuera arbetsbelastningar i alla molnmiljöer. Du kan till exempel spåra hur dina program används, de åtgärder som vidtas av Service Fabric-plattformen, din resursanvändning med prestandaräknare och klustrets övergripande hälsa. Du kan använda den här informationen för att diagnostisera och åtgärda problem och förhindra att de inträffar i framtiden.

Programövervakning

Programövervakning spårar hur funktioner och komponenter i ditt program används. Övervaka dina program för att se till att problem som påverkar användarna fångas upp. Programövervakning är ansvaret för dem som utvecklar programmet och dess tjänster eftersom det är unikt för ditt programs affärslogik. Vi rekommenderar att du konfigurerar programövervakning med Application Insights, Azures programövervakningsverktyg.

Klusterövervakning

Ett av Service Fabrics mål är att göra program motståndskraftiga mot maskinvarufel. Det här målet uppnås genom plattformens systemtjänsters förmåga att identifiera infrastrukturproblem och snabbt redundansväxling av arbetsbelastningar till andra noder i klustret. Men vad händer om systemtjänsterna själva har problem? Eller om regler för placering av tjänster överträds vid försök att distribuera eller flytta en arbetsbelastning? Service Fabric tillhandahåller diagnostik för dessa och andra problem för att se till att du är informerad om hur Service Fabric-plattformen interagerar med dina program, tjänster, containrar och noder.

För Windows-kluster rekommenderar vi att du konfigurerar klusterövervakning med Diagnostikagent och Azure Monitor-loggar.

För Linux-kluster är Azure Monitor-loggar också det rekommenderade verktyget för azure-plattforms- och infrastrukturövervakning. Diagnostik för Linux-plattformen kräver en annan konfiguration som anges i Service Fabric Linux-klusterhändelser i Syslog.

Infrastrukturövervakning

Azure Monitor-loggar rekommenderas för övervakning av händelser på klusternivå. När du har konfigurerat Log Analytics-agenten med din arbetsyta enligt beskrivningen i föregående länk kan du samla in prestandamått som CPU-användning, .NET-prestandaräknare som processoranvändning på processnivå, Service Fabric-prestandaräknare som antal undantag från en tillförlitlig tjänst och containermått som CPU-användning. Du måste skriva containerloggar till stdout eller stderr så att de blir tillgängliga i Azure Monitor-loggar.

Vakthundar

I allmänhet är en vakthund en separat tjänst som bevakar hälsa och belastning över tjänster, pingar slutpunkter och rapporterar oväntade hälsohändelser i klustret. Detta kan bidra till att förhindra fel som kanske inte identifieras enbart baserat på prestanda för en enskild tjänst. Vakthundar är också ett bra ställe att vara värd för kod som utför reparationsåtgärder som inte kräver användarinteraktion, till exempel att rensa loggfiler i lagring vid vissa tidsintervall. Om du vill ha en fullständigt implementerad, öppen källkod SF-övervakningstjänst som innehåller en lätt att använda övervakningsutökningsmodell och som körs i både Windows- och Linux-kluster, kan du läsa fabricObserver-projektet. FabricObserver är produktionsklar programvara. Vi rekommenderar att du distribuerar FabricObserver till dina test- och produktionskluster och utökar det så att det uppfyller dina behov antingen via dess plugin-modell eller genom att förgrena det och skriva dina egna inbyggda observatörer. Den tidigare metoden (plugin-program) är den rekommenderade metoden.

Nästa steg