Utveckla åtgärder med observerbarhet
Få insyn i systemet, få insikter och fatta datadrivna beslut. |
---|
Skapa en kultur som kontinuerligt förbättrar kvaliteten genom att övervaka arbetsbelastningen och ta hänsyn till alla grundpelare i Azure Well-Architected Framework. Gör det möjligt för teamet och intressenterna att fatta både kortsiktiga och långsiktiga beslut över många aspekter genom att tillhandahålla nödvändiga data, statistik och trender. Lär dig mer om dina data och förbättra dina enheter.
Åtgärder som skapats för att kunna observeras är nyckeln till proaktivt underhåll av programmet, kvalitets- och säkerhetssäkring, kapacitetsplanering och produkthantering.
En viktig aspekt av programövervakning är att använda hälsomodellering för att hjälpa dig att förutse problem innan de blir incidenter och påverka kundupplevelsen. Effektiv övervakning minskar reaktiva cykler som används för incidenthantering.
Exempelscenario
Contoso utvecklade en app för internt bruk med namnet Contoso Real Estate. Den här webbappen tillåter nyanställda eller befintliga anställda som flyttar för att söka efter och reservera korttidsboenden för att hjälpa till med flytten. Contosos HR-avdelning använder också appen för att hjälpa till med omlokaliseringar.
Appen är i produktion och distribueras helt i Azure. Den bygger på mikrotjänster med Hjälp av Azure Container Apps och använder även Azure Functions, Azure Database for PostrgreSQL, Azure Blob Storage och Azure Monitor.
Observera din arbetsbelastning via telemetri
Generera telemetri från programkod som korrelerar huvudpunkterna i körningsflödet och ger en vy från slutpunkt till slutpunkt på olika kornighetsnivåer.
Prioritera åtgärder baserat på allvarlighetsgrad och förstå kontexten med tanke på dess utförlighet. Den här informationen är viktig för felsökningsändamål.
Contosos utmaning
- Användare rapporterar att efter en nyligen uppdaterad uppdatering av Contoso Real Estate-programmet ser de ibland en tom sida eller ett allmänt felmeddelande på söksidan i webbappen. Felen verkar slumpmässiga och sökfunktionen fungerar vanligtvis om användarna bara uppdaterar sidan eller skicka sökningen igen.
- Genom att granska loggarna på sökmikrotjänsten ser teamet en ökning av fel på grund av timeouter som ansluter till Azure Database for PostgreSQL, men de har för närvarande inget sätt att avgöra om ett fel som visas i mikrotjänstloggarna för sökning motsvarar de felsidor som användarna ser eller inte.
Tillämpa metoden och resultaten
- Utvecklingsteamet har beslutat att utöka den information de loggar från både webbappen och kärnmikrotjänsterna för att fördjupa sig i problemet. För sökscenariot ser de till att samla in söktermer tillsammans med andra tillgängliga transaktionsattribut som tid, klient-IP och användarnamnet som är associerat med sökningen. Dessa extra data bör ge dem tillräckligt med information för att kunna korrelera transaktioner mellan nivåer.
- Den här ändringen gjorde det möjligt för teamet att bekräfta att tidsgränser för databasfrågor, som inte hanterades korrekt i den senaste uppdateringen av appen, var rotorsaken till de fel som användarna upplevde. Efter att ha hittat rotorsaken var det enkelt för teamet att implementera en korrigering.
- Teamet utformar nu en ny metod med OpenTelemetry för att implementera en mer omfattande distribuerad spårningslösning som omfattar alla lösningsnivåer.
Visualisera övervakningsdata i instrumentpaneler
Aggregera och visualisera data i instrumentpaneler för att presentera övervakningsdata som tillgodoser målgrupper och som håller affärskontexten i åtanke. Använd situationsinstrumentpaneler för att visa data för att öka medvetenheten bland intressenterna. Använd operativa instrumentpaneler och arbetsböcker med funktioner för ökad detaljnivå för operatörsaktiviteter som incidenthantering. Uppdatera instrumentpanelerna ofta och ange detaljerade data.
Med visualiseringar kan du analysera trender, spåra mot affärsmål och hantera incidenter.
Instrumentpaneler som är skräddarsydda för kundens intresse gör tolkningen relevant och påskyndar tiden för identifiering och åtgärder.
Contosos utmaning
- Arbetsbelastningsteamet aggregerar telemetridata från alla lösningsnivåer till en enda Log Analytics-arbetsyta, som kan nås av drift- och utvecklingsteamen och andra projektintressenter. Att interagera med data är dock svårt och komplext, vilket är frustrerande för teammedlemmar som behöver urskilja bakgrundsbrus från användbara data.
Tillämpa metoden och resultaten
- Teamet påbörjar ett försök att aggregera och visualisera data med hjälp av instrumentpaneler. Varje instrumentpanel skräddarsys för en specifik målgrupp:
- Lösningsintressentens instrumentpaneler blir mer affärsorienterade och ger en översikt på högre nivå över lösningens övergripande hälsa, tillsammans med affärsindikatorer som antalet användare som hanteras, sökningar och reservationer som utförs.
- Driftinstrumentpaneler och arbetsböcker har mer detaljerade och detaljerade data för driftteamet. Dessa instrumentpaneler har funktioner för ökad detaljnivå som gör att användarna kan utforska data på olika detaljnivåer. Användarna kommer att kunna använda dessa instrumentpaneler och arbetsböcker för att utföra felsökning och andra uppgifter för incidenthantering.
- Instrumentpanelerna gör det möjligt för användare att analysera trender, spåra affärsmål och hantera incidenter mer effektivt. De data som presenteras på varje instrumentpanel kommer att vara mer relevanta för den avsedda målgruppen och kommer att drivas av deras intressen och behov.
Utforma en robust aviseringsstrategi
Gör aviseringar användbara genom att meddela de ansvariga rollerna med standardiserade beskrivningar och allvarlighetsgradsnivåer. Ange information som är sorterad från olika källor och spåra avvikelser från affärsmål.
Utlös endast aviseringar för incidenter som kräver åtgärder och som strävar efter proaktiva och tankeväckande aviseringar som initierar åtgärder innan ett degraderat tillstånd blir ett fel. Ett bra aviseringssystem identifierar åtgärder och allvarlighetsgrad och ger precis tillräckligt med data för att skapa klarhet och syfte. Operatörer kan starta vid reparation utan fördröjning.
Contosos utmaning
- Azure Monitor används för att skicka aviseringar till driftteamet när något går fel. Teamet får dock för närvarande för många aviseringar som är irrelevanta, otydliga eller redundanta. Detta orsakar varningströtthet och påverkar teamets produktivitet och gör att vissa viktiga aviseringar inte visas.
- Det har också förekommit vissa situationer av avbrott som kunde ha förhindrats eller minimerats om en avisering skickades i väntan på ett fel. Om teamet hade bättre aviseringar om försämring innan avbrott inträffar kan dessa situationer ha undvikits. Det har till exempel förekommit tillfällen då långsammare data i databasfrågornas bearbetningstid har resulterat i avbrott. När teamet felsöker avbrotten ser de att frågebearbetningsprestandan minskar långsamt med tiden och blir sämre och värre tills det orsakar ett fullständigt avbrott.
Tillämpa metoden och resultaten
- Åtgärdsteamet startar ett initiativ för att rensa alla lågprioritetsaviseringar som orsakar varningströtthet. Endast kritiska och åtgärdsbara aviseringar tillåts vara aktiva. Dessutom granskar teamet (och förbättrar efter behov) aviseringarna som förblir aktiva för att se till att de innehåller tillräckligt med kontext för att de ska kunna vidta nödvändiga korrigerande åtgärder.
- De tar också tillfället i akt att definiera nya proaktiva och åtgärdsbara aviseringar som gör det möjligt för dem att vidta åtgärder innan ett fel inträffar. De genererar till exempel en ny avisering för att meddela databasadministratörerna så snart en konsekvent nedgång i databasfrågans prestanda visas.
- Som ett nästa steg tittar teamet på att automatisera svar på vanliga aviseringar, till exempel situationen med databasfrågeprestanda.