Udvikl handlinger med observabilitet

Fuldført
få indsigt i systemet, få indsigt og træffe datadrevne beslutninger.

Byg en kultur, der løbende forbedrer kvaliteten ved at overvåge arbejdsbelastningen og tage alle søjlerne i Azure Well-Architected Framework i betragtning. Gør det muligt for teamet og interessenterne at træffe både kortsigtede og langsigtede beslutninger på tværs af mange facetter ved at levere de nødvendige data, statistikker og tendenser. Få mere at vide om dine data, og få forbedringer.

Handlinger, der er bygget med henblik på observabilitet, er nøglen til proaktiv vedligeholdelse af programmet, kvalitets- og sikkerhedssikkerhed, kapacitetsplanlægning og produktstyring.

Et afgørende aspekt ved programovervågning er at bruge tilstandsmodellering til at hjælpe dig med at foregribe problemer, før de bliver hændelser og påvirke kundeoplevelsen. Effektiv overvågning reducerer de reaktive cyklusser, der bruges på administration af hændelser.

Eksempelscenarie

Contoso udviklede en app til intern brug kaldet Contoso Real Estate. Denne webapp giver mulighed for nyansættelser eller eksisterende medarbejdere, der flytter for at søge efter og reservere korttidsboliger for at hjælpe med deres flytning. Contosos HR-afdeling bruger også appen til at hjælpe med flytninger.

Appen er i produktion og udrulles udelukkende i Azure. Den er bygget på mikrotjenester ved hjælp af Azure Container Apps og bruger også Azure Functions, Azure Database for PostgreSQL, Azure Blob Storage og Azure Monitor.

Hold øje med din arbejdsbelastning via telemetri

Emit-telemetri fra programkode, der korrelerer nøglepunkterne i udførelsesflowet og giver en end-to-end-visning på forskellige granularitetsniveauer.

Prioriter handlinger baseret på alvorsgradsniveauet, og forstå konteksten på grund af dens verbositet. Disse oplysninger er afgørende for fejlfindingsformål.

Contosos udfordring

  • Brugerne rapporterer, at de efter en nylig opdatering af Contoso Real Estate-programmet af og til får vist en tom side eller en generisk fejlmeddelelse på søgesiden i webappen. Fejlene virker tilfældige, og søgefunktionen fungerer normalt, hvis brugerne blot opdaterer siden eller sender søgningen igen.
  • Ved gennemgang af loggene på søgemikrotjenesten bemærker teamet en stigning i fejl pga. timeout, der opretter forbindelse til Azure Database for PostgreSQL, men de har i øjeblikket ingen mulighed for at se, om en fejl, de får vist i loggene for søgningsmikrotjeneste, svarer til de fejlsider, som brugerne ser eller ej.

Anvendelse af tilgangen og resultaterne

  • Udviklingsteamet har besluttet at udvide de oplysninger, de logger på, fra både webappen og de centrale mikrotjenester for at gå i dybden med problemet. I søgescenariet sørger de for at registrere søgeordene sammen med andre tilgængelige transaktionsattributter, f.eks. tid, klient-ip og det brugernavn, der er knyttet til søgningen. Disse ekstra data bør give dem tilstrækkelige oplysninger til at kunne korrelere transaktioner på tværs af niveauer.
  • Denne ændring gjorde det muligt for teamet at bekræfte timeout for databaseforespørgsler, som ikke blev håndteret korrekt i den seneste opdatering af appen, som var hovedårsagen til de fejl, som brugerne oplevede. Efter at have fundet rodårsagen var det ligetil for teamet at implementere en rettelse.
  • Teamet designer nu en ny tilgang ved hjælp af OpenTelemetry til at implementere en mere omfattende distribueret sporingsløsning, der dækker alle løsningsniveauer.

Visualiser overvågningsdata i dashboards

Aggregere og visualisere data i dashboards for at præsentere overvågningsdata, der er tilpasset målgrupper og holder forretningskonteksten for øje. Brug situationsdashboards til at vise data for at skabe opmærksomhed blandt interessenterne. Brug driftsmæssige dashboards og projektmapper med detailudledningsfunktioner til operatoraktiviteter, f.eks. svar på hændelser. Opdater ofte dashboards, og angiv detaljerede data.

Med visualiseringer kan du analysere tendenser, spore mod forretningsmål og administrere hændelser.

Dashboards, der er skræddersyet til kundens interesse, gør fortolkningen relevant og fremskynder tiden til registrering og handling.

Contosos udfordring

  • Arbejdsbelastningsteamet samler telemetridata fra alle løsningsniveauer i et enkelt Log Analytics-arbejdsområde, som drifts- og udviklingsteamene og andre projektaktører kan få adgang til. Det er dog svært og komplekst at interagere med dataene, hvilket er frustrerende for teammedlemmer, der har brug for at skelne baggrundsstøj fra handlingsvenlige data.

Anvendelse af tilgangen og resultaterne

  • Teamet går i gang med at aggregere og visualisere data ved hjælp af dashboards. Hvert dashboard er skræddersyet til en bestemt målgruppe:
    • Løsningens interessenters dashboards vil være mere forretningsorienterede og præsentere et højere overblik over løsningens overordnede tilstand sammen med forretningsindikatorer som antallet af brugere, der betjenes, søgninger og udførte reservationer.
    • Driftsdashboards og projektmapper indeholder mere detaljerede og detaljerede data for operationsteamet. Disse dashboards har detailudledningsfunktioner, der gør det muligt for brugerne at udforske dataene på forskellige granularitetsniveauer. Brugerne kan bruge disse dashboards og projektmapper til at udføre fejlfinding og andre opgaver for svar på hændelser.
  • Dashboards gør det muligt for brugerne at analysere tendenser, spore forretningsmål og administrere hændelser mere effektivt. De data, der præsenteres på hvert dashboard, vil være mere relevante for målgruppen og vil blive drevet af deres interesser og behov.

Design en robust advarselsstrategi

Gør beskeder handlingsrettet ved at give de ansvarlige roller besked med standardiserede beskrivelser og alvorsgradsniveauer. Angiv oplysninger, der er sorteret fra forskellige kilder, og spor afvigelser fra forretningsmål.

Udløs kun beskeder for hændelser, der kræver handling og stræber efter proaktive og tankevækkende beskeder, der starter handlinger, før en forringet tilstand bliver en fejl. Et godt beskedsystem identificerer handlinger og alvorsgrad og leverer lige nok data til at skabe klarhed og formål. Operatorer kan starte med afhjælpning uden forsinkelse.

Contosos udfordring

  • Azure Monitor bruges til at sende beskeder til driftsteamet, når noget går galt. Teamet modtager i øjeblikket for mange beskeder, der er irrelevante, uklare eller redundante. Dette medfører advarselstræthed og påvirker teamets produktivitet og medfører, at nogle vigtige beskeder går ubemærket hen.
  • Der har også været nogle situationer med afbrydelser, der kunne være blevet forhindret eller minimeret, hvis der blev sendt en besked for at forudse en fejl. Hvis teamet havde bedre besked om forringelse, før der opstod afbrydelser, kunne disse situationer være undgået. Der har f.eks. været tilfælde, hvor langsommere behandlingstid for databaseforespørgsler har medført afbrydelser. Mens der foretages fejlfinding af afbrydelserne, bemærker teamet, at ydeevnen for behandling af forespørgsler reduceres langsomt over tid, og at den bliver værre og værre, indtil den medfører en komplet afbrydelse.

Anvendelse af tilgangen og resultaterne

  • Operationsteamet lancerer et initiativ til at rydde op i alle de vigtige beskeder med lav prioritet, der forårsager advarselstræthed. Det er kun vigtige beskeder, der kan handles på, der må forblive aktive. Teamgennemgange (og forbedrer efter behov) de beskeder, der forbliver aktive, for at sikre, at de indeholder tilstrækkelig kontekst til, at de kan udføre den nødvendige korrigerende handling.
  • De benytter også lejligheden til at definere nye proaktive og handlingsrettede beskeder, der gør det muligt for dem at udføre handlinger, før der opstår en fejl. De genererer f.eks. en ny besked for at give DBA'erne besked, så snart der vises en konsekvent opbremsning i ydeevnen af databaseforespørgslen.
  • Som næste trin undersøger teamet, hvordan de automatiserer svar på almindelige beskeder, f.eks. situationen med ydeevnen af databaseforespørgsler.