Skapa eller redigera en varningsregel för loggsökning
Den här artikeln visar hur du skapar en ny varningsregel för loggsökning eller redigerar en befintlig varningsregel för loggsökning i Azure Monitor. Mer information om aviseringar finns i översikten över aviseringar.
Aviseringsregler kombinerar de resurser som ska övervakas, övervakningsdata från resursen och de villkor som du vill utlösa aviseringen. Du kan sedan definiera åtgärdsgrupper och regler för aviseringsbearbetning för att avgöra vad som händer när en avisering utlöses.
Aviseringar som utlöses av dessa aviseringsregler innehåller en nyttolast som använder det gemensamma aviseringsschemat.
Förutsättningar
Om du vill skapa eller redigera en aviseringsregel måste du ha följande behörigheter:
- Läsbehörighet för målresursen för aviseringsregeln.
- Skrivbehörighet för resursgruppen där aviseringsregeln skapas. Om du skapar aviseringsregeln från Azure Portal skapas aviseringsregeln som standard i samma resursgrupp där målresursen finns.
- Läsbehörighet för alla åtgärdsgrupper som är associerade med aviseringsregeln, om tillämpligt.
Få åtkomst till guiden för aviseringsregeln i Azure Portal
Det finns flera sätt att skapa eller redigera en aviseringsregel.
Skapa eller redigera en aviseringsregel från portalens startsida
- I Azure Portal väljer du Övervaka.
- I den vänstra rutan väljer du Aviseringar.
- Välj + Skapa>aviseringsregel.
Skapa eller redigera en aviseringsregel från en specifik resurs
- I Azure Portal går du till resursen.
- I den vänstra rutan väljer du Aviseringar.
- Välj + Skapa>aviseringsregel.
Redigera en befintlig aviseringsregel
I Azure Portal, antingen från startsidan eller från en specifik resurs, väljer du Aviseringar i det vänstra fönstret.
Välj Aviseringsregler.
Välj den aviseringsregel som du vill redigera och välj sedan Redigera.
Välj någon av flikarna för aviseringsregeln för att redigera inställningarna.
Konfigurera aviseringsregelns omfång
I fönstret Välj en resurs anger du omfånget för aviseringsregeln. Du kan filtrera efter prenumeration, resurstyp eller resursplats.
Välj Använd.
Konfigurera villkor för aviseringsregler
På fliken Villkor väljer du Anpassad loggsökning när du väljer fältet Signalnamn. Eller välj Visa alla signaler om du vill välja en annan signal för villkoret.
(Valfritt) Om du har valt Visa alla signaler i föregående steg använder du fönstret Välj en signal för att söka efter signalnamnet eller filtrera listan med signaler. Filtrera efter:
- Signaltyp: Välj Loggsökning.
- Signalkälla: Tjänsten som skickar signaler för anpassad loggsökning och logg (sparad fråga). Välj signalnamnet och välj sedan Använd.
I fönstret Loggar skriver du en fråga som returnerar logghändelserna som du vill skapa en avisering för. Om du vill använda en av de fördefinierade aviseringsregelfrågorna expanderar du fönstret Schema och filter bredvid fönstret Loggar . Välj sedan fliken Frågor och välj en av frågorna.
Tänk på dessa begränsningar för aviseringsregelfrågor för loggsökning:
- Aviseringsregelfrågor för loggsökning stöder
bag_unpack()
inte ,pivot()
ochnarrow()
. - Aviseringsregelfrågor för loggsökning stöder endast ago() med tidsintervallliteraler .
AggregatedValue
är ett reserverat ord. Du kan inte använda den i frågan i aviseringsregler för loggsökning.- Den kombinerade storleken på alla data i egenskaperna för aviseringsreglerna för loggsökning får inte överstiga 64 KB.
- När du definierar anpassade funktioner i KQL-frågan för loggsökningsaviseringar är det viktigt att vara försiktig med funktionskoden som innehåller relativa tidssatser (t.ex. now()). Anpassade funktioner med relativa tidssatser som inte definieras i själva KQL-frågan för loggsökningsaviseringar kan medföra inkonsekvenser i frågeresultat, vilket kan påverka noggrannheten och tillförlitligheten för aviseringsutvärderingar. Därför:
- Definiera alltid relativa tidssatser direkt i KQL-frågan för loggsökningsavisering för att säkerställa korrekt och snabb avisering.
- Om tidsintervall behövs i funktionen bör de skickas som parametrar och användas i funktionen.
- Aviseringsregelfrågor för loggsökning stöder
(Valfritt) Om du kör frågor mot ett Azure Data Explorer- eller Azure Resource Graph-kluster kan Log Analytics-arbetsytan inte automatiskt identifiera kolumnen med händelsetidsstämpeln. Vi rekommenderar att du lägger till ett tidsintervallfilter i frågan. Till exempel:
adx('https://help.kusto.windows.net/Samples').table | where MyTS >= ago(5m) and MyTS <= now()
arg("").Resources | where type =~ 'Microsoft.Compute/virtualMachines' | project _ResourceId=tolower(id), tags
Exempel på aviseringsfrågor för loggsökning är tillgängliga för Azure Data Explorer och Resource Graph.
Frågor mellan tjänster stöds inte i myndighetsmoln. Mer information om begränsningar finns i Begränsningar för frågor mellan tjänster och Kombinera Azure Resource Graph-tabeller med en Log Analytics-arbetsyta.
Välj Kör för att köra aviseringen.
I avsnittet Förhandsversion visas frågeresultatet. När du är klar med redigeringen av frågan väljer du Fortsätt redigera avisering.
Fliken Villkor öppnas och fylls i med loggfrågan. Regeln räknar som standard antalet resultat under de senaste fem minuterna. Om systemet identifierar sammanfattade frågeresultat uppdateras regeln automatiskt med den informationen.
I avsnittet Mått väljer du värden för följande fält:
Fält beskrivning Mått Loggsökningsaviseringar kan mäta två saker som du kan använda för olika övervakningsscenarier:
Tabellrader: Du kan använda antalet returnerade rader för att arbeta med händelser som Windows-händelseloggar, Syslog och programfel.
Beräkning av en numerisk kolumn: Du kan använda beräkningar baserat på valfri numerisk kolumn för att inkludera valfritt antal resurser. Ett exempel är CPU-procent.Sammansättningstyp Beräkningen som utförs på flera poster för att aggregera dem till ett numeriskt värde med hjälp av sammansättningskornigheten. Exempel är Total, Average, Minimum och Maximum. Sammansättningskornighet Intervallet för att aggregera flera poster till ett numeriskt värde. (Valfritt) I avsnittet Dela efter dimensioner kan du använda dimensioner för att ge kontext för den utlösta aviseringen.
Dimensioner är kolumner från dina frågeresultat som innehåller ytterligare data. När du använder dimensioner grupperar aviseringsregeln frågeresultaten efter dimensionsvärdena och utvärderar resultatet för varje grupp separat. Om villkoret uppfylls utlöses en avisering för den gruppen. Aviseringsnyttolasten innehåller den kombination som utlöste aviseringen.
Du kan använda upp till sex dimensioner per aviseringsregel. Dimensioner kan bara vara sträng- eller numeriska kolumner. Om du vill använda en kolumn som inte är en tal- eller strängtyp som en dimension måste du konvertera den till en sträng eller ett numeriskt värde i frågan. Om du väljer fler än ett dimensionsvärde utlöser varje tidsserie som resulterar i kombinationen en egen avisering och debiteras separat.
Till exempel:
- Du kan använda dimensioner för att övervaka CPU-användning på flera instanser som kör din webbplats eller app. Varje instans övervakas individuellt och meddelanden skickas för varje instans där CPU-användningen överskrider det konfigurerade värdet.
- Du kan välja att inte dela upp efter dimensioner när du vill att ett villkor ska tillämpas på flera resurser i omfånget. Du skulle till exempel inte använda dimensioner om du vill utlösa en avisering om minst fem datorer i resursgruppens omfång har CPU-användning över det konfigurerade värdet.
Om aviseringsregelomfånget i allmänhet är en arbetsyta utlöses aviseringarna på arbetsytan. Om du vill ha en separat avisering för varje berörd Azure-resurs kan du:
Använd kolumnen Azure Resource Manager Azure Resource ID som en dimension. När du använder det här alternativet utlöses aviseringen på arbetsytan med kolumnen Azure Resource ID som dimension.
Ange aviseringen som en dimension i azure-resurs-ID-egenskapen. Det här alternativet gör resursen som frågan returnerar målet för aviseringen. Aviseringar utlöses sedan på resursen som din fråga returnerar, till exempel en virtuell dator eller ett lagringskonto, i motsats till arbetsytan.
Om arbetsytan hämtar data från resurser i mer än en prenumeration när du använder det här alternativet kan aviseringar utlösas för resurser från en prenumeration som skiljer sig från prenumerationen för aviseringsregeln.
Välj värden för följande fält:
Fält beskrivning Dimensionsnamn Dimensioner kan vara antingen tal- eller strängkolumner. Dimensioner används för att övervaka specifika tidsserier och ge kontext till en utlöst avisering. Operator Operatorn som används för dimensionsnamnet och värdet. Dimensionsvärden Dimensionsvärdena baseras på data från de senaste 48 timmarna. Välj Lägg till anpassat värde för att lägga till anpassade dimensionsvärden. Inkludera alla framtida värden Välj det här fältet om du vill inkludera eventuella framtida värden som läggs till i den valda dimensionen. I avsnittet Aviseringslogik väljer du värden för följande fält:
Fält beskrivning Operator Frågeresultatet omvandlas till ett tal. I det här fältet väljer du den operator som ska användas för att jämföra talet med tröskelvärdet. Tröskelvärdet Ett talvärde för tröskelvärdet. Utvärderingsfrekvens Hur ofta frågan körs. Du kan ange den var som helst från en minut till en dag (24 timmar). Kommentar
Frekvensen är inte en specifik tid som aviseringen körs varje dag. Det är hur ofta aviseringsregeln körs.
Det finns vissa begränsningar för att använda en aviseringsregelfrekvens på en minut. När du anger aviseringsregelns frekvens till en minut utförs en intern manipulering för att optimera frågan. Den här manipulationen kan leda till att frågan misslyckas om den innehåller åtgärder som inte stöds. De vanligaste orsakerna till att en fråga inte stöds är:
- Frågan innehåller
search
åtgärden ,union
, ellertake
(gräns). - Frågan innehåller
ingestion_time()
funktionen. - Frågan använder
adx
mönstret. - Frågan anropar en funktion som anropar andra tabeller.
Exempel på aviseringsfrågor för loggsökning är tillgängliga för Azure Data Explorer och Resource Graph.
- Frågan innehåller
(Valfritt) I avsnittet Avancerade alternativ kan du ange antalet fel och den aviseringsutvärderingsperiod som krävs för att utlösa en avisering. Om du till exempel anger sammansättningskornighet till 5 minuter kan du ange att du bara vill utlösa en avisering om tre fel (15 minuter) inträffade under den senaste timmen. Programmets affärsprincip avgör den här inställningen.
Välj värden för de här fälten under Antal överträdelser för att utlösa aviseringen:
Fält beskrivning Antal överträdelser Antalet överträdelser som utlöser aviseringen. Utvärderingsperiod Den tidsperiod inom vilken antalet överträdelser inträffar. Åsidosätt frågetidsintervall Om du vill att aviseringsutvärderingsperioden ska skilja sig från frågetidsintervallet anger du ett tidsintervall här.
Tidsintervallet för aviseringar är begränsat till högst två dagars data. Även om frågan innehåller ettago
kommando med ett tidsintervall på längre än två dagar tillämpas det maximala tidsintervallet på två dagar. Även om frågetexten till exempel innehållerago(7d)
söker frågan bara igenom upp till två dagars data. Om frågan kräver mer data än aviseringsutvärderingen kan du ändra tidsintervallet manuellt. Om frågan innehåller ettago
kommando ändras den automatiskt till två dagar (48 timmar).Kommentar
Om du eller administratören har tilldelat Azure-principen Azure Log Search-aviseringar via Log Analytics-arbetsytor ska använda kundhanterade nycklar måste du välja Kontrollera länkad lagring på arbetsytan. Om du inte gör det misslyckas regelskapandet eftersom det inte uppfyller principkraven.
I diagrammet Förhandsversion visas resultatet av frågeutvärderingar över tid. Du kan ändra diagramperioden eller välja olika tidsserier som beror på en unik aviseringsdelning efter dimensioner.
Välj Klar. Från och med nu kan du välja knappen Granska + skapa när som helst.
Konfigurera aviseringsregelåtgärder
På fliken Åtgärder väljer eller skapar du de åtgärdsgrupper som krävs.
Konfigurera information om aviseringsregler
På fliken Information går du till Projektinformation och väljer värdena för prenumerations - och resursgrupp .
Under Information om aviseringsregler:
Välj värdet Allvarlighetsgrad.
Ange värden för Aviseringsregelnamn och Beskrivning av aviseringsregel.
Kommentar
En regel som använder en identitet kan inte ha semikolonet (;) tecken i värdet för aviseringsregelns namn .
Välj värdet Region .
I avsnittet Identitet väljer du vilken identitet aviseringsregeln för loggsökning använder för autentisering när loggfrågan skickas.
Tänk på följande när du väljer en identitet:
- En hanterad identitet krävs om du skickar en fråga till Azure Data Explorer eller Resource Graph.
- Använd en hanterad identitet om du vill kunna visa eller redigera de behörigheter som är associerade med aviseringsregeln.
- Om du inte använder en hanterad identitet baseras behörigheterna för aviseringsregeln på behörigheterna för den senaste användaren för att redigera regeln när regeln senast redigerades.
- Använd en hanterad identitet för att undvika ett fall där regeln inte fungerar som förväntat eftersom användaren som senast redigerade regeln inte hade behörighet för alla resurser som lagts till i regelns omfång.
Identiteten som är associerad med regeln måste ha följande roller:
- Om frågan har åtkomst till en Log Analytics-arbetsyta måste identiteten tilldelas en läsarroll för alla arbetsytor som frågan kommer åt. Om du skapar resurscentrerade loggsökningsaviseringar kan aviseringsregeln komma åt flera arbetsytor och identiteten måste ha en läsarroll på alla.
- Om du kör frågor mot ett Azure Data Explorer- eller Resource Graph-kluster måste du lägga till läsarrollen för alla datakällor som frågan kommer åt. Om frågan till exempel är resurscentrerad behöver den en läsarroll för den resursen.
- Om frågan har åtkomst till ett Azure Data Explorer-fjärrkluster måste identiteten tilldelas:
- En läsarroll för alla datakällor som frågan kommer åt. Om frågan till exempel anropar ett Azure Data Explorer-fjärrkluster med hjälp av funktionen behöver den
adx()
en läsarroll i azure Data Explorer-klustret. - En databasvisningsroll för alla databaser som frågan kommer åt.
- En läsarroll för alla datakällor som frågan kommer åt. Om frågan till exempel anropar ett Azure Data Explorer-fjärrkluster med hjälp av funktionen behöver den
Detaljerad information om hanterade identiteter finns i Hanterade identiteter för Azure-resurser.
Välj något av följande alternativ för den identitet som aviseringsregeln använder:
Identitetsalternativ Description None Behörigheter för aviseringsregeln baseras på behörigheterna för den senaste användaren som redigerade regeln när regeln redigerades. Aktivera systemtilldelad hanterad identitet Azure skapar en ny dedikerad identitet för den här aviseringsregeln. Den här identiteten har inga behörigheter och tas bort automatiskt när regeln tas bort. När du har skapat regeln måste du tilldela behörigheter till den här identiteten för att få åtkomst till den nödvändiga arbetsytan och datakällorna för frågan. Mer information om hur du tilldelar behörigheter finns i Tilldela Azure-roller med hjälp av Azure Portal. Aviseringsregler för loggsökning som använder länkad lagring stöds inte. Aktivera användartilldelad hanterad identitet Innan du skapar aviseringsregeln skapar du en identitet och tilldelar den lämpliga behörigheter för loggfrågan. Det här är en vanlig Azure-identitet. Du kan använda en identitet i flera aviseringsregler. Identiteten tas inte bort när regeln tas bort. När du väljer den här typen av identitet öppnas ett fönster där du kan välja den associerade identiteten för regeln. (Valfritt) I avsnittet Avancerade alternativ kan du ange flera alternativ:
Fält beskrivning Aktivera när du skapar Välj det här alternativet om du vill att aviseringsregeln ska börja köras så fort du har skapat den. Åtgärda aviseringar automatiskt Välj det här alternativet för att göra aviseringen tillståndskänslig. När en avisering är tillståndskänslig löses aviseringen när villkoret inte längre uppfylls under ett visst tidsintervall. Tidsintervallet varierar beroende på aviseringens frekvens:
1 minut: Aviseringsvillkoret uppfylls inte på 10 minuter.
5 till 15 minuter: Aviseringsvillkoret uppfylls inte under tre frekvensperioder.
15 minuter till 11 timmar: Aviseringsvillkoret uppfylls inte under två frekvensperioder.
11 till 12 timmar: Aviseringsvillkoret uppfylls inte under en frekvensperiod.
Observera att tillståndskänsliga loggsökningsaviseringar har dessa begränsningar.Stäng av åtgärder Välj det här alternativet om du vill ange en väntetid innan aviseringsåtgärder utlöses igen. I fältet Stäng av åtgärder för fält som visas väljer du hur lång tid det ska ta att vänta efter att en avisering har utlösts innan åtgärder utlöses igen. Kontrollera länkad lagring på arbetsytan Välj det här alternativet om den länkade lagringen för arbetsytan för aviseringar har konfigurerats. Om ingen länkad lagring har konfigurerats skapas inte regeln. -
(Valfritt) Om den här aviseringsregeln innehåller åtgärdsgrupper i avsnittet Anpassade egenskaper kan du lägga till dina egna egenskaper som ska inkluderas i nyttolasten för aviseringsmeddelanden. Du kan använda dessa egenskaper i de åtgärder som åtgärdsgruppen anropar, till exempel av en webhook, Azure-funktion eller logikappåtgärd.
De anpassade egenskaperna anges som nyckel/värde-par med statisk text, ett dynamiskt värde som extraheras från aviseringsnyttolasten eller en kombination av båda.
Formatet för att extrahera ett dynamiskt värde från aviseringsnyttolasten är:
${<path to schema field>}
. Exempel:${data.essentials.monitorCondition}
.Använd formatet för det gemensamma aviseringsschemat för att ange fältet i nyttolasten, oavsett om de åtgärdsgrupper som konfigurerats för aviseringsregeln använder det gemensamma schemat eller inte.
Kommentar
- Anpassade egenskaper läggs till i nyttolasten för aviseringen, men de visas inte i e-postmallen eller i aviseringsinformationen i Azure Portal.
I följande exempel används värden i Anpassade egenskaper för att använda data från en nyttolast som använder det gemensamma aviseringsschemat.
I det här exemplet skapas en tagg med ytterligare information med data om starttid och sluttid för fönstret:
- Namn:
Additional Details
- Värde:
Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}
- Resultat:
AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z
Det här exemplet lägger till data om orsaken till att aviseringen löss eller utlöss:
- Namn:
Alert ${data.essentials.monitorCondition} reason
- Värde:
${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. The value is ${data.alertContext.condition.allOf[0].metricValue}
- Potentiella resultat:
Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585
Konfigurera aviseringsregeltaggar
På fliken Taggar anger du eventuella taggar som krävs för resursen för aviseringsregeln.
Granska och skapa aviseringsregeln
På fliken Granska + skapa verifieras regeln. Om det finns ett problem kan du gå tillbaka och åtgärda det.
När valideringen har godkänts och du har granskat inställningarna väljer du knappen Skapa.