Logga aviseringar i Azure Monitor

Översikt

Logga aviseringar är en av de aviseringstyper som stöds i Azure Alerts. Logga aviseringar låter användare använda en Log Analytics-fråga för att utvärdera resursloggar varje uppsättningsfrekvens och skicka en avisering baserat på resultatet. Regler kan utlösa en eller flera åtgärder med hjälp av åtgärdsgrupper.

Anteckning

Loggdata från en Log Analytics-arbetsyta kan skickas till Azure Monitor måttarkiv. Måttaviseringar har olika beteende,vilket kan vara mer önskvärt beroende på vilka data du arbetar med. Information om vad och hur du kan dirigera loggar till mått finns i Metric Alert for Logs (Måttavisering för loggar).

Förutsättningar

Logga aviseringar kör frågor på Log Analytics-data. Börja med att samla in loggdata och fråga loggdata efter problem. Du kan använda artikeln med aviseringsfrågeexempel i Log Analytics för att förstå vad du kan upptäcka eller komma igång med att skriva en egen fråga.

Azure Monitoring Contributor är en vanlig roll som behövs för att skapa, ändra och uppdatera logga aviseringar. Åtkomst & köra frågor för resursloggarna behövs också. Partiell åtkomst till resursloggar kan misslyckas med frågor eller returnera partiella resultat. Läs mer om att konfigurera logga aviseringar i Azure.

Anteckning

Loggaviseringar för Log Analytics hanterades tidigare med hjälp av det äldre Log Analytics-aviserings-API:et. Läs mer om att växla till det aktuella ScheduledQueryRules-API:et.

Frågeutvärderingsdefinition

Villkorsdefinitionen för loggsökningsregler börjar från:

  • Vilken fråga ska köras?
  • Hur använder jag resultaten?

I följande avsnitt beskrivs de olika parametrar som du kan använda för att ange logiken ovan.

Loggfråga

Log Analytics-frågan som används för att utvärdera regeln. Resultaten som returneras av den här frågan används för att avgöra om en avisering ska utlösas. Frågan kan vara begränsad till:

  • En specifik resurs, till exempel en virtuell dator.
  • En resurs i stor skala, till exempel en prenumeration eller resursgrupp.
  • Flera resurser med frågor mellan resurser.

Viktigt

Aviseringsfrågor har begränsningar för att säkerställa optimala prestanda och relevans för resultaten. Mer information finns här.

Viktigt

Resurscentrerad fråga och frågor mellan resurser stöds endast med hjälp av det aktuella scheduledQueryRules-API:et. Om du använder det äldre Log Analytics-aviserings-API:etmåste du växla. Läs mer om att växla

Frågetidsintervall

Ett tidsintervall anges i definitionen av regelvillkoret. I arbetsytor och Insights kallas det period. I alla andra resurstyper kallas det Åsidosätt frågetidsintervall.

Precis som i Log Analytics begränsar intervallet frågedata till det angivna intervallet. Även om kommandot för sedan används i frågan gäller tidsperioden.

Till exempel genomsöker en fråga 60 minuter när ett tidsintervall är 60 minuter, även om texten innehåller ago(1d). Tidsintervallet och filtreringen av frågetid måste matcha. I det här exemplet skulle det fungera som förväntat att ändra frågetidsintervallet För / periodens åsidosättning till en dag.

Mått

Logga aviseringar omvandlar loggen till numeriska värden som kan utvärderas. Du kan mäta två olika saker:

Antal resultattabellrader

Antal resultat är standardmåttet. Perfekt för att arbeta med händelser som Windows händelseloggar, syslog, programundantag. Utlösare när loggposter inträffar eller inte inträffar i den utvärderade tidsperioden.

Loggaviseringar fungerar bäst när du försöker identifiera data i loggen. Det fungerar mindre bra när du försöker identifiera brist på data i loggarna. Till exempel aviseringar om pulsslag för virtuella datorer.

För arbetsytor och Insights kallas den Baserat på med valet Antal resultat. I alla andra resurstyper kallas den Mått med val av Tabellrader.

Anteckning

Eftersom loggar är halvstrukturerade data är de i sig mer latent än mått. Du kan uppleva felfirer när du försöker identifiera brist på data i loggarna och du bör överväga att använda måttaviseringar . Du kan skicka data till måttlagret från loggar med hjälp av måttaviseringar för loggar.

Exempel på användningsfall för antal rader i resultattabellen

Du vill veta när programmet svarade med felkoden 500 (internt serverfel). Du skapar en aviseringsregel med följande information:

  • Fråga:
requests
| where resultCode == "500"
  • Tidsperiod/Sammansättningskornighet: 15 minuter
  • Aviseringsfrekvens: 15 minuter
  • Tröskelvärde: Större än 0

Sedan övervakar aviseringsregler alla begäranden som slutar med 500-felkod. Frågan körs var 15:e minut under de senaste 15 minuterna. Om även en post hittas utlöser den aviseringen och utlöser de konfigurerade åtgärderna.

Beräkning av mått baserat på en numerisk kolumn (till exempel cpu-räknarvärde)

För arbetsytor och Insights kallas det Baserat på med valet Måttmått. I alla andra resurstyper kallas den Mått med val av val av kolumnnamn för tal.

Sammansättningstyp

Den beräkning som görs på flera poster för att aggregera dem till ett numeriskt värde. Exempel:

I arbetsytor och Insights stöds den endast i måtttypen Mått. Frågeresultatet måste innehålla en kolumn med namnet AggregatedValue som tillhandahåller ett numeriskt värde efter en användardefinierad aggregering. I alla andra resurstyper väljs Sammansättningstyp från fältet i det namnet.

Sammansättningskornighet

Anger intervallet som används för att aggregera flera poster till ett numeriskt värde. Om du till exempel anger 5 minuter grupperas posterna efter 5-minutersintervall med aggregeringstypen angiven.

I arbetsytor och Insights stöds den endast i måtttypen Mått. Frågeresultatet måste innehålla bin() som anger intervall i frågeresultatet. I alla andra resurstyper kallas fältet som styr den här inställningen Sammansättningskornighet.

Anteckning

Eftersom bin() kan resultera i ojämna tidsintervall konverterar aviseringstjänsten automatiskt funktionen bin() till funktionen bin_at() med lämplig tid vid körning, för att säkerställa resultat med en fast punkt.

Dela upp efter aviseringsdimensioner

Dela upp aviseringar efter antal eller strängkolumner i separata aviseringar genom att gruppera i unika kombinationer. När du skapar resurscentrerade aviseringar i stor skala (prenumerations- eller resursgruppsomfång) kan du dela upp efter azure-resurs-ID-kolumn. Om du delar upp kolumnen För Azure-resurs-ID ändras målet för aviseringen till den angivna resursen.

Vi rekommenderar att du delar upp efter azure-resurs-ID när du vill övervaka samma villkor på flera Azure-resurser. Till exempel övervakning av alla virtuella datorer för CPU-användning över 80 %. Du kan också välja att inte dela när du vill ha ett villkor för flera resurser i omfånget. Till exempel övervakning att minst fem datorer i resursgruppsomfånget har cpu-användning över 80 %.

I arbetsytor och Insights stöds den endast i måtttypen Mått. Fältet kallas Aggregera . Det är begränsat till tre kolumner. Om du har fler än tre grupper efter kolumner i frågan kan det leda till oväntade resultat. I alla andra resurstyper konfigureras det i avsnittet Dela efter dimensioner i villkoret (begränsat till sex delningar).

Exempel på uppdelning efter aviseringsdimensioner

Du vill till exempel övervaka fel för flera virtuella datorer som kör webbplatsen/appen i en specifik resursgrupp. Du kan göra det med hjälp av en loggvarningsregel på följande sätt:

  • Fråga:

    // Reported errors
    union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
    | where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
    or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records
    

    När du använder arbetsytor och Insights med aviseringslogik för måttmätning måste den här raden läggas till i frågetexten:

    | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
    
  • Resurs-ID-kolumn: _ResourceId (kolumnen Dela efter resurs-ID i aviseringsregler är för närvarande endast tillgänglig för prenumerationer och resursgrupper)

  • Dimensioner/aggregerade på:

    • Computer = VM1, VM2 (filtreringsvärden i definitionen av aviseringsregler är för närvarande inte tillgängligt för arbetsytor och Insights. Filtrera i frågetexten.)
  • Tidsperiod/Sammansättningskornighet: 15 minuter

  • Aviseringsfrekvens: 15 minuter

  • Tröskelvärde: Större än 0

Den här regeln övervakar om någon virtuell dator har haft felhändelser under de senaste 15 minuterna. Varje virtuell dator övervakas separat och utlöser åtgärder individuellt.

Anteckning

Delat med aviseringsdimensioner är endast tillgängligt för det aktuella scheduledQueryRules-API:et. Om du använder det äldre Aviserings-API:etför Log Analytics måste du växla. Läs mer om att växla. Resurscentrerad avisering i stor skala stöds endast i API-versionen 2020-08-01 och senare.

Definition av aviseringslogik

När du har definierat frågan för att köra och utvärdera resultaten måste du definiera aviseringslogiken och när åtgärder ska köras. I följande avsnitt beskrivs de olika parametrar som du kan använda:

Tröskelvärde och operator

Frågeresultatet omvandlas till ett tal som jämförs med tröskelvärdet och operatorn .

Frekvens

Anteckning

Det finns för närvarande inga extra avgifter för förhandsgranskning av 1-minuters frekvensloggaviseringar. Priser för funktioner som är i förhandsversion kommer att meddelas i framtiden och ett meddelande visas innan faktureringen påbörjas. Om du väljer att fortsätta använda 1 minuts frekvensloggaviseringar efter tidsperioden debiteras du enligt gällande pris.

Intervallet som frågan körs i. Kan ställas in från en minut till en dag. Måste vara lika med eller mindre än frågetidsintervallet för att inte missa loggposter.

Om du till exempel anger tidsperioden till 30 minuter och frekvens till 1 timme. Om frågan körs vid 00:00 returneras poster mellan 23:30 och 00:00. Nästa gång frågan skulle köras är 01:00 som returnerar poster mellan 00:30 och 01:00. Alla poster som skapats mellan 00:00 och 00:30 utvärderas aldrig.

Antal överträdelser som ska utlösa en avisering

Du kan ange utvärderingsperioden för aviseringen och antalet fel som krävs för att utlösa en avisering. Gör att du bättre kan definiera en effekttid för att utlösa en avisering.

Om din regel Sammansättningskornighet till exempel definieras som "5 minuter" kan du bara utlösa en avisering om tre fel (15 minuter) av den senaste timmen inträffade. Den här inställningen definieras av din affärsprincip för programmet.

Tillståndstillstånd och lösning av aviseringar

Logga aviseringar kan antingen vara tillståndslösa eller tillståndslösa (för närvarande i förhandsversion).

Tillståndslösa aviseringar utlösts varje gång villkoret uppfylls, även om det har utlösts tidigare. Du kan markera aviseringen som stängd när aviseringsinstansen har lösts. Du kan också stänga av åtgärder för att förhindra att de utlöses under en period efter att en aviseringsregel har utlösts. I Log Analytics-arbetsytor och Insights kallas det Ignorera aviseringar. I alla andra resurstyper kallas den för Mute Actions (Stäng av åtgärder).

Se det här exemplet på tillståndslös utvärdering av aviseringar:

Tid Utvärdering av loggvillkor Resultat
00:05 FALSE Aviseringen kan inte skjutas upp. Inga åtgärder anropas.
00:10 TRUE Aviseringseld och åtgärdsgrupper anropas. Nytt aviseringstillstånd AKTIVT.
00:15 TRUE Aviseringseld och åtgärdsgrupper anropas. Nytt aviseringstillstånd AKTIVT.
00:20 FALSE Aviseringen kan inte skjutas upp. Inga åtgärder anropas. Statusen för pervious-aviseringar förblir AKTIV.

Tillståndsfulla aviseringar utlöstes en gång per incident och åtgärdas. Aviseringsregeln löses när aviseringsvillkoret inte uppfylls på 30 minuter under en viss utvärderingsperiod (för att ta hänsyn till fördröjningen i logginmatningen) och tre på varandra följande utvärderingar för att minska bruset om det finns ett omlappande villkor. Med en frekvens på 5 minuter löses till exempel aviseringen efter 40 minuter eller med en frekvens på 1 minut. Aviseringen löses efter 32 minuter. Det lösta meddelandet skickas ut via web-hooks eller e-post. Statusen för aviseringsinstansen (kallas övervakningstillstånd) i Azure Portal också inställd på löst.

Funktionen tillståndsful alerts (Tillståndsful alerts) är för närvarande i förhandsversion i det offentliga Azure-molnet. Du kan ange detta med hjälp av Lös aviseringar automatiskt i avsnittet med aviseringsinformation.

Val av plats i logga aviseringar

Med logga aviseringar kan du ange en plats för aviseringsregler. I Log Analytics-arbetsytor måste regelplatsen matcha arbetsytans plats. I alla andra resurser kan du välja någon av de platser som stöds, som är anpassade till listan över Log Analytics-regioner som stöds.

Plats påverkar i vilken region aviseringsregeln utvärderas. Frågor körs på loggdata i den valda regionen, det vill säga att aviseringstjänsten från slut till slut är global. Det innebär att aviseringsregeldefinition, utgående aviseringar, meddelanden och åtgärder inte är bundna till platsen i aviseringsregeln. Data överförs från den konfigurerade regionen eftersom Azure Monitor aviseringstjänsten är en icke-regional tjänst.

Priser och fakturering för logga aviseringar

Prisinformationen finns på Azure Monitor sidan med priser. Logga aviseringar visas under resursprovidern microsoft.insights/scheduledqueryrules med:

  • Logga aviseringar på Insights visas med exakt resursnamn tillsammans med resursgrupp och aviseringsegenskaper.
  • Logga aviseringar i Log Analytics visas med exakta resursnamn tillsammans med resursgrupp och aviseringsegenskaper; när den skapas med hjälp av scheduledQueryRules API.
  • Loggaviseringar som skapats från äldre Log Analytics API spåras inte Azure-resurser och har inte framtvingade unika resursnamn. De här aviseringarna skapas fortfarande microsoft.insights/scheduledqueryrules på som dolda resurser, som har den här resursnamnstrukturen <WorkspaceName>|<savedSearchId>|<scheduleId>|<ActionId> . Loggaviseringar i äldre API visas med ovanstående dolda resursnamn tillsammans med resursgrupp och aviseringsegenskaper.

Anteckning

Resurstecken som inte stöds, till <, >, %, &, \, ?, / exempel , ersätts med _ i de dolda resursnamnen och detta återspeglas också i faktureringsinformationen.

Anteckning

Loggaviseringar för Log Analytics hanterades tidigare med hjälp av det äldre Aviserings-API:et för Log Analytics och äldre mallar för sparade sökningar och aviseringar i Log Analytics. Läs mer om att växla till det aktuella ScheduledQueryRules-API:et. All hantering av aviseringsregel bör göras med hjälp av äldre Log Analytics API tills du väljer att byta och du inte kan använda de dolda resurserna.

Nästa steg