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, resursanvändningen med prestandaräknare och klustrets övergripande hälsa. Du kan använda den här informationen för att diagnostisera och korrigera 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 programmets 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äxla arbetsbelastningar till andra noder i klustret. Men vad händer om själva systemtjänsterna 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 får information 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. Linux-plattformsdiagnostik kräver olika konfigurationer 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 för tjänster, pingar slutpunkter och rapporterar oväntade hälsohändelser i klustret. Detta kan hjälpa till att förhindra fel som kanske inte identifieras enbart baserat på prestanda för en enda tjänst. Vakthundar är också en bra plats för att vara värd för kod som utför åtgärdså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 SF-övervakningstjänst med öppen källkod som innehåller en lätthanterad utökningsmodell för vakthundar 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 för att uppfylla dina behov, antingen via dess plugin-modell eller genom att förgrena den och skriva egna inbyggda observatörer. Den tidigare metoden (plugin-program) är den rekommenderade metoden.

Nästa steg