Azure Functions Alerting: Opsætningsvejledning
Vil du sikre, at dine Azure Functions kører problemfrit? Opsætning af korrekt alarmering kan hjælpe dig med at identificere og løse problemer hurtigt. Her er, hvad du lærer i denne vejledning:
- Hvorfor alarmering er vigtig: Azure Functions fungerer i et hændelsesdrevet, serverløst miljø, hvilket gør det sværere at registrere ydeevneproblemer som fejl, latenstidsstigninger eller ressourcebegrænsninger.
- Hvad skal overvåges: Nøglemålinger såsom antal udførelser, HTTP-fejl (5xx) og ressourceforbrug. Brug Application Insights til telemetri og Azure Monitor til alarmer.
- Sådan opsætter du alarmer: Konfigurer regler for kritiske problemer, f.eks. funktionsfejl eller unormal ressourceforbrug, og opret handlingsgrupper for at underrette de rette personer via e-mail, SMS eller webhooks.
- Bedste praksis: Brug dynamiske tærskler til at reducere falske alarmer, gennemgå alarmindstillinger månedligt, og test handlingsgrupper for at sikre, at notifikationer er effektive.
Konklusion: Proaktiv alarmering holder dine serverløse apps pålidelige og dit team forberedt. Lad os dykke ned i detaljerne.
Sådan konfigurerer du Azure Monitor-advarsler og handlingsgrupper for Azure-ressourcer?

Forudsætninger og indledende opsætning
Før du dykker ned i konfigurationen af alarmer, skal du sørge for, at dit Azure-miljø er klar med alle nødvendige tilladelser og aktiv Application Insights-telemetri.
Hvad du behøver før du starter
For at konfigurere Azure Functions-advarsler skal du bruge et par vigtige ting. Først skal du sørge for, at du har et aktivt Azure-abonnement med de rigtige tilladelser. Helt konkret skal din konto have læseadgang til målressourcen (din Azure Function App) og skriveadgang til den ressourcegruppe, hvor du vil oprette alarmregler.
For tilladelser, Overvågningsbidragyder rollen er ideel til at oprette og administrere alarmer, mens Overvågningslæser rollen fungerer, hvis du kun har brug for at se eksisterende overvågningsdataHvis ingen af dem passer til din organisations sikkerhedsmodel, kan du definere brugerdefinerede roller med mere specifikke tilladelser.
Bekræft derefter, at du har en funktionsdygtig Azure Function-app. Denne app burde allerede generere telemetridata, hvilket er afgørende for at kunne oprette meningsfulde advarsler. Regelmæssig trafik eller planlagte udførelser er nødvendige for at producere de telemetridata, der understøtter effektiv overvågning.
Integration med Applikationsindsigt er også afgørende. Application Insights indsamler automatisk ydeevnemålinger, fejllogfiler og udførelsesdetaljer fra dine funktioner. Azure Monitor bruger denne telemetri til at evaluere alarmtilstande og sende meddelelser, når det er nødvendigt.
Til sidst, konfigurer aktionsgrupper at definere, hvordan notifikationer skal sendes (f.eks. e-mail, SMS eller webhooks). Uden handlingsgrupper vil dine notifikationer ikke give de rigtige personer eller systemer besked, når der opstår problemer.
Før du fortsætter, skal du dobbelttjekke, at din Application Insights-opsætning er aktiv og indsamler data korrekt.
Kontrol af Application Insights-integration

Præcis telemetri er rygraden i effektiv alarmering. For at sikre dette skal du kontrollere, at Application Insights er korrekt integreret med din funktionsapp.
Start med at navigere til din funktionsapp i Azure-portalen. Hvis du ser et banner, der viser "Application Insights er ikke konfigureret", integrationen er ikke konfigureret endnu.
For at bekræfte integrationen skal du gå til Indstillinger af din funktionsapp og vælg MiljøvariablerUnder App-indstillinger fanen, kig efter APPLICATIONINSIGHTS_CONNECTION_STRING indstilling. Denne forbindelsesstreng er den moderne måde at forbinde din funktionsapp med Application Insights. Hvis du kun ser APPINSIGHTS_INSTRUMENTATIONKEYOvervej at opdatere til forbindelsesstrengformatet for at forbedre pålideligheden og sikkerheden.
Du kan også verificere integrationen ved hjælp af Azure CLI. For eksempel, for at kontrollere en funktionsapp med navnet cc-main-function-app i cloud-shell-lagring-vesteuropa ressourcegruppen, kør følgende kommando:
az functionapp config appsettings list --name cc-main-function-app --resource-group cloud-shell-storage-westeurope Hvis outputtet ikke vises APPLICATIONINSIGHTS_CONNECTION_STRING eller APPINSIGHTS_INSTRUMENTATIONKEYApplication Insights er ikke aktiveret.
Når du har bekræftet, at forbindelsesstrengen findes, skal du teste integrationen ved at køre dine funktioner manuelt eller vente på, at planlagte triggere udføres. Kontroller derefter Overvåge i din funktionsapp for at se de seneste kald, herunder udførelsesdetaljer, varighed og successtatus.
For en dyberegående undersøgelse, besøg din Application Insights-ressource. Brug Live-målinger, Fejl, og Ydeevne sektioner for at bekræfte, at der indsamles omfattende telemetri. Derudover kan du bruge Applikationsindsigt Analyse at forespørge datatabeller som spor, anmodninger, og undtagelser til yderligere validering.
Husk, at alarmdata i Azure Monitor opbevares i 30 dage, så du har rigelig tid til at gennemgå og finjustere din opsætning.
Opsætning af advarsler i Azure Monitor
Efter opsætning af Application Insights er næste trin at oprette overvågningsalarmer i Azure Monitor for at opdage eventuelle problemer med dine Azure Functions. Azure Monitor arbejder hånd i hånd med Application Insights og tilbyder et solidt framework til sporing af platformmålinger og brugerdefinerede logfiler. Dette giver dig et klart overblik over din funktions ydeevne og generelle tilstand.
Valg af metrikker og logfiler, der skal overvåges
Azure Monitor indsamler automatisk platformsmålinger fra dine Azure Functions uden yderligere opsætning. Disse målinger omfatter antal udførelser, varighed, hukommelsesforbrug og HTTP-svarkoder. For at sikre, at dine funktioner kører problemfrit, skal du fokusere på målinger, der fremhæver problemer med pålidelighed og ydeevne.
Vigtige målinger at holde øje med inkluderer HTTP-fejl og antallet af forbindelser, da de giver øjeblikkelig feedback om, hvorvidt dine funktioner er tilgængelige og fungerer som forventet. For eksempel kan en pludselig stigning i HTTP 5xx-fejl være tegn på et kodningsproblem eller et problem med en downstream-tjeneste, der kræver øjeblikkelig opmærksomhed.
For at dykke dybere ned i udførelsesdetaljer, brugerdefinerede spor og fejl, skal du sende ressourcelogfiler til Azure Monitor Logs ved hjælp af diagnosticeringsindstillinger. Disse logfiler gemmes i FunktionsApp-logfiler tabellen i dit Log Analytics-arbejdsområde, hvilket gør det nemt at forespørge på og analysere dem.
Husk, at aggregeringsperioden for metrikker typisk er 30 sekunder eller 1.000 kørsler. Application Insights bruger også en samplingsfunktion, der som standard begrænser telemetri til 20 udførelser pr. sekund (eller fem i version 1.x). Selvom dette hjælper med at administrere omkostninger og ydeevne, kan det resultere i ufuldstændige data i perioder med høj trafik.
Når du beslutter, hvad der skal overvåges, skal du prioritere problemer, der kræver øjeblikkelig handling – såsom funktionsfejl, afhængighedsfejl eller timeouts. Overvej også at spore tendenser, der signalerer langsigtede problemer, såsom øgede svartider eller højere hukommelsesforbrug.
Når du har identificeret de metrikker og logfiler, der er vigtigst, er du klar til at oprette alarmregler.
Oprettelse af alarmregler
Efter at have identificeret de vigtigste metrikker og logfiler, er næste trin at konfigurere alarmregler, der giver dig besked om usædvanlig adfærd. Effektive alarmregler balancerer følsomhed med praktisk anvendelighed og sikrer, at du får besked om kritiske problemer uden at blive overvældet af falske alarmer. Hver alarmregel i Azure Monitor består af tre hovedelementer: den ressource, der overvåges, signalet eller dataene fra den pågældende ressource, og de betingelser, der udløser alarmen.
For at oprette en alarmregel skal du gå til Overvåg > Advarsler > Advarselsregler i Azure-portalen og klik på + Ny alarmregelVælg din funktionsapp som målressource, og definer derefter de betingelser, der udløser alarmen.
For metrikbaserede advarsler skal du fokusere på scenarier med høj prioritet. For eksempel er HTTP-serverfejl (HTTP 5xx) afgørende, fordi de påvirker brugerne direkte. Hvis din app typisk ikke har 5xx-fejl, skal du indstille en advarsel for enhver forekomst. Hvis lejlighedsvise fejl er normale, kan du indstille en tærskel, der kun udløses, når der opstår mere end fem fejl inden for et vindue på fem minutter.
Logbaserede advarsler er derimod afhængige af Kusto-forespørgsler til at analysere data i dit Log Analytics-arbejdsområde. Disse er især nyttige til at identificere komplekse mønstre, som simple målinger kan overse. Du kan f.eks. oprette advarsler for scenarier, f.eks. når en enkelt bruger oplever flere fejl inden for en kort periode, eller når fejlprocenter overstiger normale niveauer for bestemte slutpunkter.
Her er en hurtig tabel over almindelige alarmregler for Azure Functions:
| Advarselstype | Tilstand | Beskrivelse |
|---|---|---|
| Metrisk | Gennemsnitlige forbindelser | Udløses, når forbindelser overstiger en indstillet værdi |
| Metrisk | HTTP 404 | Udløses, når HTTP 404-svar overstiger en fastsat værdi |
| Metrisk | HTTP-serverfejl | Udløses, når HTTP 5xx-fejl overstiger en indstillet værdi |
| Aktivitetslog | Opret eller opdater funktionsapp | Giv besked, når appen oprettes eller opdateres |
| Aktivitetslog | Slet funktionsapp | Advarsel når appen slettes |
| Aktivitetslog | Genstart funktionsappen | Advarsel når appen genstartes |
| Aktivitetslog | Stop-funktionsappen | Advarsel når appen er stoppet |
Når du angiver tærskler, skal du tage højde for din apps normale adfærd. En funktion, der håndterer 1.000 anmodninger i minuttet, vil have andre basismålinger sammenlignet med en funktion, der kun behandler 10 anmodninger i timen. Juster tærsklerne for at minimere falske advarsler, samtidig med at du stadig registrerer kritiske problemer.
Test dine alarmregler for at sikre, at de fungerer som forventet. Du kan simulere forhold eller vente på naturlige hændelser, men under alle omstændigheder skal du bekræfte, at notifikationer leveres korrekt, før du bruger dem i produktionen.
Husk, at Azure gemmer advarsler i 30 dage. Hvis du har brug for data til længerevarende analyse, skal du sørge for at eksportere eller analysere dem, før de slettes.
Opsætning af handlingsgrupper
Handlingsgrupper bestemmer, hvad der sker, når en alarm udløses. De definerer de notifikationer og automatiserede handlinger, der udføres som reaktion på en alarm. Du kan tildele op til fem handlingsgrupper til en enkelt alarmregel, og flere alarmregler kan dele den samme handlingsgruppe.
For at oprette en handlingsgruppe skal du gå til Overvåg > Advarsler > Handlingsgrupper i Azure-portalen og klik på + OpretVælg notifikationsmetoder, der stemmer overens med dit teams kommunikationsstil og eskaleringsproces. Ved mindre kritiske advarsler er e-mail-notifikationer ofte tilstrækkelige. Ved presserende problemer kan du overveje SMS eller taleopkald for at sikre en hurtigere respons.
E-mail er den mest almindelige notifikationsmetode, da den sikrer rettidige opdateringer til de rigtige personer. SMS og taleopkald er bedre egnet til problemer uden for normal arbejdstid eller situationer, hvor teammedlemmer muligvis ikke aktivt tjekker deres e-mail.
Hvis du har brug for at integrere advarsler med eksterne systemer som billetværktøjer eller chatplatforme, skal du bruge webhook-handlinger. Hvis du f.eks. integrerer med Microsoft Teams, skal du muligvis bruge Logic Apps til at formatere advarslingsdataene i det nødvendige skema. Denne tilgang giver mulighed for mere sofistikerede arbejdsgange, f.eks. evaluering af advarslers alvorlighedsgrad, kontrol af åbningstider, eskalering af problemer eller integration med andre værktøjer.
Når du opretter handlingsgrupper, skal du bruge klare og beskrivende navne. For eksempel gør navne som "Kritiske produktionsalarmer" eller "Udviklerteam-HTTP-fejl" det nemt at forstå deres formål med et hurtigt blik. Overvej at oprette separate handlingsgrupper for forskellige alvorlighedsgrader. For eksempel kan kritiske produktionsproblemer udløse SMS-notifikationer til ingeniører på vagt, mens alarmer til udviklingsmiljøer muligvis kun sender e-mails.
Test dine handlingsgrupper ved hjælp af Azures eksempelmeddelelsesfunktion for at sikre, at de er konfigureret korrekt. Dette trin er afgørende for at undgå overraskelser under en faktisk hændelse.
Finjuster endelig dine advarsler og handlingsgrupper for at forhindre advarslertræthed. For mange notifikationer kan føre til, at vigtige advarsler ignoreres eller deaktiveres. Start med konservative grænseværdier, og juster dem over tid baseret på erfaring med falske positiver eller oversete advarsler.
Gennemgå og opdater dine alarmregler og handlingsgrupper regelmæssigt. Efterhånden som din applikation udvikler sig, kan trafikmønstre, nye funktioner og teamstrukturer påvirke, hvad der skal overvåges, og hvem der skal underrettes. Hold din alarmstrategi i overensstemmelse med disse ændringer for at opretholde dens effektivitet.
sbb-itb-59e1987
Retningslinjer for Azure Functions-advarsler

Opsætning af effektive alarmregler går ud over blot at aktivere notifikationer. Målet er at opdage kritiske problemer uden at overbelaste dit team med unødvendige alarmer.
Oprettelse af nyttige alarmregler
Nøglen til effektiv alarmering er at fastsætte tærskler, der virkelig afspejler din applikations adfærd. Generiske tærskler er ofte utilstrækkelige, fordi hver Azure-funktion har sine egne trafikmønstre, ydeevneegenskaber og forretningsbehov.
Start med at analysere en to ugers basislinje af din applikations ydeevne. Disse historiske data hjælper dig med at skelne mellem normale variationer og reelle problemer. Derfra kan du sætte tærskler, der er både meningsfulde og handlingsrettede.
Dynamiske tærskler er særligt nyttige. Ved at justere baseret på historiske data tilpasser de sig ændringer som sæsonbestemte trafikstigninger, hvilket reducerer risikoen for falske alarmer. For eksempel kan du i stedet for at advare om alle udsving indstille en regel til kun at udløses, hvis der opstår fem HTTP 404-fejl inden for to minutter. Tilsvarende er en kort stigning i hukommelsesforbruget muligvis ikke et problem, men vedvarende højt hukommelsesforbrug i over fem minutter kan indikere en hukommelseslækage.
For at undgå unødvendig støj skal du implementere regler for alarmbehandling og overvågningslister. Disse værktøjer kan undertrykke alarmer under planlagt vedligeholdelse eller administrere undtagelser centralt. For eksempel kan du konfigurere produktionskritiske alarmer til at sende SMS-beskeder i åbningstiden, skifte til e-mails natten over og eskalere til telefonopkald, hvis problemet fortsætter.
For mere komplekse scenarier, Kusto-forespørgselssprog (KQL) er revolutionerende. Med KQL kan du oprette præcise logbaserede alarmer, der identificerer mønstre som gentagne fejl fra den samme brugersession, overlappende fejl på tværs af funktioner eller usædvanlige fejlstigninger. Denne tilgang sikrer, at vigtige problemer markeres, samtidig med at falske positiver reduceres.
Når man navngiver advarsler, er klarhed afgørende. Brug navne, der umiddelbart formidler systemet, miljøet og problemtypen, f.eks. "Production-OrderProcessing-HighErrorRate" eller "Dev-PaymentAPI-ConnectionFailures". Tilføjelse af fejlfindingslinks eller runbook-referencer til advarslers beskrivelser kan fremskynde løsningen.
Husk endelig, at alarmregler ikke er statiske. Regelmæssige opdateringer er nødvendige for at matche din applikations udviklende ydeevne. I næste afsnit undersøges, hvordan du holder disse regler effektive over tid.
Opdatering og gennemgang af alarmindstillinger
Når tærskler og betingelser er fastsat, sikrer regelmæssige evalueringer, at de forbliver effektive. månedlig gennemgang er et godt udgangspunkt for at finjustere dit varslingssystem.
Under disse gennemgange skal du analysere, hvor ofte advarsler blev udløst, og hvordan de blev håndteret. Hyppige advarsler, der ikke fører til handling, kan indikere tærskler, der er for følsomme. På den anden side kan oversete problemer afsløre huller i din overvågningsopsætning.
Det er også vigtigt at teste dine alarmhandlinger med jævne mellemrum. Teamkontakter og eksterne systemer ændrer sig over tid, så sørg for, at notifikationer stadig når de rigtige personer.
Hold øje med ændringer i dine ressourcer, der kan påvirke advarsler. Skalering af din funktionsapp, tilføjelse af nye funktioner eller ændring af implementeringer kan ændre ydeevnegrundlinjerne. Opdater dine tærskler efter behov, og overvej, om nye scenarier kræver yderligere advarsler.
Når funktioner udfases eller ændres, skal forældede alarmregler fjernes med det samme. Gamle alarmer kan rode dit system og distrahere fra de virkelige problemer. Vedligeholdelse af tydelig dokumentation, der knytter alarmregler til specifikke komponenter, kan gøre denne proces meget mere gnidningsløs.
Juster alarmkriterier baseret på operationel indsigt. Hvis visse alarmer f.eks. ofte udløses under kendte scenarier som batchbehandling eller implementeringer, kan du justere tærskler eller tilføje undertrykkelsesregler for at minimere falske positiver uden at miste de reelle problemer af syne.
Planlagte vedligeholdelsesaktiviteter er et andet område, hvor undertrykkelsesregler kan være nyttige. Midlertidig deaktivering af specifikke advarsler under vedligeholdelse forhindrer unødvendige meddelelser og sikrer, at overvågningen genoptages automatisk, når vedligeholdelsesvinduet udløber.
Endelig skal du gennemgå dine handlingsgrupper regelmæssigt. Teamansvar og vagtrotationer udvikler sig, så sørg for, at de rigtige personer underrettes for hver problemtype. Du kan endda oprette separate handlingsgrupper for forskellige alvorlighedsgrader eller applikationskomponenter for at strømline eskaleringsstier og forbedre responseffektiviteten.
Konklusion
Opsætning af effektive Azure Functions-advarsler kræver en gennemtænkt balance mellem grundig overvågning og praktisk anvendelse. Ud over den indledende opsætning ligger nøglen til succes i at forstå din applikations adfærd og bruge historiske data til at etablere meningsfulde basislinjer i stedet for at være afhængig af universelle tærskler.
Fokuser på at overvåge kritiske målinger som forbindelsesantal, HTTP-fejl og vigtige aktivitetsloghændelser. Disse målinger giver et solidt fundament for at spore både ydeevne og driftstilstand, hvilket hjælper dig med at opdage potentielle problemer, før de eskalerer.
Regelmæssige gennemgange og opdateringer er afgørende for at holde dit alarmsystem i overensstemmelse med din applikations skiftende behov. Månedlige evalueringer kan hjælpe dig med at finjustere overfølsomme tærskler, der genererer unødvendig støj, og identificere eventuelle blinde vinkler, der kan lade problemer gå ubemærket hen.
Udnyt dynamiske tærskler til at reducere falske positiver og tilpasse dig historiske tendenser. Denne tilgang fjerner gætteriet omkring statiske tærskler, samtidig med at det sikres, at systemet forbliver følsomt over for reelle anomalier.
For at styre omkostningerne skal du minimere hyppigheden af alarmer for logsøgninger og omhyggeligt vælge, hvilke ressourcer der skal overvåges, uden at det går på kompromis med dækningen. Husk, at Azure gemmer alarmdata i 30 dage, så gør det til en vane at dokumentere og gennemgå dine indstillinger regelmæssigt.
Det er lige så vigtigt at teste dine handlingsgrupper. Sørg for, at notifikationer når de rigtige personer, og at eskaleringsprocedurerne fungerer problemfrit, når der opstår reelle problemer.
Et velholdt alarmsystem transformerer din tilgang fra reaktiv problemløsning til proaktiv forebyggelse. Dette sikrer ikke kun ensartet ydeevne, men letter også den operationelle arbejdsbyrde for dine udviklings- og driftsteams.
Ofte stillede spørgsmål
Hvordan kan jeg reducere falske alarmer i mit Azure Functions-advarselssystem?
For at minimere falske alarmer i dit Azure Functions-advarselssystem er det vigtigt at fokusere på opsætning præcise og meningsfulde alarmforholdI stedet for at udløse advarsler for hver eneste fejl, overvej at definere tærskler baseret på metrikker, der reelt repræsenterer din applikations tilstand – f.eks. at spore fejlrater over en periode. På denne måde kan du filtrere mindre eller midlertidige fejl fra, der ikke kræver øjeblikkelig opmærksomhed.
En anden nyttig strategi er at udnytte dynamiske tærskler i Azure Monitor. Disse tærskler justeres automatisk baseret på historiske data og typiske brugsmønstre, hvilket gør det nemmere at skelne mellem normale udsving og faktiske problemer.
Du kan også implementere regler for behandling af advarsler for at forfine dine notifikationer. For eksempel kan du undertrykke advarsler under planlagte vedligeholdelsesvinduer eller gruppere lignende advarsler. Disse trin sikrer, at du kun får besked om kritiske opdateringer, hvilket hjælper dig med at opretholde et pålideligt varslingssystem uden unødvendige afbrydelser.
Hvad er fordelene ved at bruge dynamiske tærskler til Azure Functions-advarsler, og hvordan er de sammenlignet med statiske tærskler?
Dynamiske tærskler for Azure Functions-advarsler bringer et nyt niveau af fleksibilitet og præcision. I stedet for at stole på faste værdier bruger de maskinlæring til at analysere historiske data og ydeevnetendenser. Dette giver dem mulighed for automatisk at tilpasse sig ændringer, opdage anomalier mere effektivt og samtidig minimere falske alarmer. For miljøer med svingende arbejdsbelastninger sikrer denne tilgang, at advarsler forbliver relevante og handlingsrettede.
På den anden side afhænger statiske tærskler af foruddefinerede værdier, der skal indstilles og opdateres manuelt. Dette kan resultere i enten oversete problemer eller et overvældende antal advarsler, når ydeevnen ændrer sig over tid. Ved at fjerne behovet for konstante manuelle justeringer giver dynamiske tærskler en smartere og mere pålidelig måde at administrere Azure Functions-advarsler på.
Hvordan kan jeg konfigurere Azure Functions-advarsler til at sende meddelelser til Microsoft Teams eller andre platforme?
For at sende Azure Functions-advarsler til Microsoft Teams eller andre platforme kan du bruge Indgående webhooksSådan konfigurerer du det:
Først skal du oprette en indgående webhook i din Teams-kanal. Naviger til Apps fanen, vælg Indgående webhook connector, og følg vejledningen for at generere en unik webhook-URL til din kanal.
Når det er klar, skal du konfigurere din Azure-funktion til at sende advarsler ved at foretage HTTP POST-anmodninger til webhook-URL'en. I din Azure-funktion skal du skrive kode for at overvåge specifikke hændelser eller betingelser, formatere advarslen som en JSON-nyttelast og sende den til webhook'en. Denne opsætning muliggør notifikationer i realtid, så dit team er opdateret og klar til at handle på kritiske hændelser.