Övervaka virtuella datorer med Azure Monitor: Aviseringar
Den här artikeln är en del av guiden Övervaka virtuella datorer och deras arbetsbelastningar i Azure Monitor. Aviseringar i Azure Monitor meddelar dig proaktivt om intressanta data och mönster i dina övervakningsdata. Det finns inga förkonfigurerade aviseringsregler för virtuella datorer, men du kan skapa dina egna baserat på data som du samlar in från Azure Monitor Agent. Den här artikeln beskriver aviseringskoncept som är specifika för virtuella datorer och vanliga aviseringsregler som används av andra Azure Monitor-kunder.
Det här scenariot beskriver hur du implementerar fullständig övervakning av din azure- och hybridmiljö för virtuella datorer:
Information om hur du kommer igång med att övervaka din första virtuella Azure-dator finns i Övervaka virtuella Azure-datorer.
Information om hur du snabbt aktiverar en rekommenderad uppsättning aviseringar finns i Aktivera rekommenderade aviseringsregler för en virtuell Azure-dator.
Viktigt!
De flesta aviseringsregler har en kostnad som är beroende av typen av regel, hur många dimensioner den innehåller och hur ofta den körs. Innan du skapar några aviseringsregler kan du läsa avsnittet Aviseringsregler i Prissättning för Azure Monitor.
Datainsamling
Aviseringsregler inspekterar data som redan har samlats in i Azure Monitor. Du måste se till att data samlas in för ett visst scenario innan du kan skapa en aviseringsregel. Se Övervaka virtuella datorer med Azure Monitor: Samla in data för vägledning om hur du konfigurerar datainsamling för olika scenarier, inklusive alla aviseringsregler i den här artikeln.
Rekommenderade aviseringsregler
Azure Monitor innehåller en uppsättning rekommenderade aviseringsregler som du snabbt kan aktivera för valfri virtuell Azure-dator. Dessa regler är en bra utgångspunkt för grundläggande övervakning. Men ensamt ger de inte tillräcklig avisering för de flesta företagsimplementeringar av följande skäl:
- Rekommenderade aviseringar gäller endast för virtuella Azure-datorer och inte hybriddatorer.
- Rekommenderade aviseringar omfattar endast värdmått och inte gästmått eller loggar. Dessa mått är användbara för att övervaka hälsotillståndet för själva datorn. Men de ger dig minimal insyn i de arbetsbelastningar och program som körs på datorn.
- Rekommenderade aviseringar är associerade med enskilda datorer som skapar ett överdrivet antal aviseringsregler. I stället för att förlita sig på den här metoden för varje dator kan du läsa Skala aviseringsregler för strategier för att använda ett minimalt antal aviseringsregler för flera datorer.
Aviseringstyper
De vanligaste typerna av aviseringsregler i Azure Monitor är måttaviseringar och loggsökningsaviseringar. Vilken typ av aviseringsregel du skapar för ett visst scenario beror på var de data som du varnar om finns.
Du kan ha fall där data för ett visst aviseringsscenario är tillgängliga i både mått och loggar. I så fall måste du bestämma vilken regeltyp som ska användas. Du kan också ha flexibilitet i hur du samlar in vissa data och låter ditt beslut av aviseringsregeltyp driva ditt beslut för datainsamlingsmetod.
Måttaviseringar
Vanliga användningsområden för måttaviseringar:
- Avisering när ett visst mått överskrider ett tröskelvärde. Ett exempel är när processorn för en dator körs högt.
Datakällor för måttaviseringar:
- Värdmått för virtuella Azure-datorer som samlas in automatiskt
- Mått som samlas in av Azure Monitor Agent från gästoperativsystemet
Aviseringar för loggsökning
Vanliga användningsområden för loggsökningsaviseringar:
- Avisering när en viss händelse eller ett mönster för händelser från Windows-händelseloggen eller Syslog hittas. Dessa aviseringsregler mäter vanligtvis tabellrader som returneras från frågan.
- Avisering baserat på en beräkning av numeriska data över flera datorer. Dessa aviseringsregler mäter vanligtvis beräkningen av en numerisk kolumn i frågeresultatet.
Datakällor för loggsökningsaviseringar:
- Alla data som samlas in på en Log Analytics-arbetsyta
Aviseringsregler för skalning
Eftersom du kanske har många virtuella datorer som kräver samma övervakning behöver du inte skapa enskilda aviseringsregler för var och en. Du vill också se till att det finns olika strategier för att begränsa antalet aviseringsregler som du behöver hantera, beroende på typen av regel. Var och en av dessa strategier är beroende av att förstå målresursen för aviseringsregeln.
Måttaviseringsregler
Virtuella datorer stöder flera aviseringsregler för resursmått enligt beskrivningen i Övervaka flera resurser. Med den här funktionen kan du skapa en enda måttaviseringsregel som gäller för alla virtuella datorer i en resursgrupp eller prenumeration inom samma region.
Börja med de rekommenderade aviseringarna och skapa en motsvarande regel för var och en med hjälp av din prenumeration eller en resursgrupp som målresurs. Du måste skapa dubblettregler för varje region om du har datorer i flera regioner.
När du identifierar krav för fler måttaviseringsregler följer du samma strategi med hjälp av en prenumeration eller resursgrupp som målresurs för att:
- Minimera antalet aviseringsregler som du behöver hantera.
- Se till att de tillämpas automatiskt på alla nya datorer.
Varningsregler för loggsökning
Om du anger målresursen för en loggsökningsaviseringsregel till en specifik dator begränsas frågorna till data som är associerade med den datorn, vilket ger dig enskilda aviseringar för den. Det här arrangemanget kräver en separat aviseringsregel för varje dator.
Om du anger målresursen för en loggsökningsaviseringsregel till en Log Analytics-arbetsyta har du åtkomst till alla data på den arbetsytan. Därför kan du avisera om data från alla datorer i arbetsgruppen med en enda regel. Det här arrangemanget ger dig möjlighet att skapa en enda avisering för alla datorer. Du kan sedan använda dimensioner för att skapa en separat avisering för varje dator.
Du kanske till exempel vill avisera när en felhändelse skapas i Windows-händelseloggen av vilken dator som helst. Du måste först skapa en datainsamlingsregel enligt beskrivningen i Samla in data med Azure Monitor Agent för att skicka dessa händelser till Event
tabellen på Log Analytics-arbetsytan. Sedan skapar du en aviseringsregel som frågar den här tabellen med hjälp av arbetsytan som målresurs och villkoret som visas i följande bild.
Frågan returnerar en post för eventuella felmeddelanden på alla datorer. Använd alternativet Dela efter dimensioner och ange _ResourceId för att instruera regeln att skapa en avisering för varje dator om flera datorer returneras i resultatet.
Dimensioner
Beroende på vilken information du vill inkludera i aviseringen kan du behöva dela med hjälp av olika dimensioner. I det här fallet kontrollerar du att de nödvändiga dimensionerna projiceras i frågan med hjälp av projektet eller utöka operatorn. Ange kolumnfältet Resurs-ID till Dela inte och inkludera alla meningsfulla dimensioner i listan. Se till att Inkludera alla framtida värden är markerat så att alla värden som returneras från frågan inkluderas.
Dynamiska tröskelvärden
En annan fördel med att använda aviseringsregler för loggsökning är möjligheten att inkludera komplex logik i frågan för att fastställa tröskelvärdet. Du kan hårdkoda tröskelvärdet, tillämpa det på alla resurser eller beräkna det dynamiskt baserat på något fält eller beräknat värde. Tröskelvärdet tillämpas endast på resurser enligt specifika villkor. Du kan till exempel skapa en avisering baserat på tillgängligt minne, men bara för datorer med en viss mängd totalt minne.
Vanliga aviseringsregler
I följande avsnitt visas vanliga aviseringsregler för virtuella datorer i Azure Monitor. Information om måttaviseringar och loggsökningsaviseringar finns för var och en. Information om vilken typ av avisering som ska användas finns i Aviseringstyper. Om du inte känner till processen för att skapa aviseringsregler i Azure Monitor kan du läsa anvisningarna för att skapa en ny aviseringsregel.
Kommentar
Informationen för loggsökningsaviseringar som tillhandahålls här använder data som samlas in med hjälp av VM Insights, som tillhandahåller en uppsättning vanliga prestandaräknare för klientoperativsystemet. Det här namnet är oberoende av operativsystemtypen.
Datortillgänglighet
Ett av de vanligaste övervakningskraven för en virtuell dator är att skapa en avisering om den slutar köras. Den bästa metoden är att skapa en måttaviseringsregel i Azure Monitor med hjälp av måttet för VM-tillgänglighet, som för närvarande finns i allmänt tillgänglig förhandsversion. En genomgång av det här måttet finns i Skapa tillgänglighetsaviseringsregel för en virtuell Azure-dator.
En aviseringsregel är begränsad till en aktivitetsloggsignal. Så för varje villkor måste en aviseringsregel skapas. Till exempel kräver "startar eller stoppar den virtuella datorn" två aviseringsregler. Men för att få aviseringar när den virtuella datorn startas om behövs bara en aviseringsregel.
Som beskrivs i Aviseringsregler för skalning skapar du en tillgänglighetsaviseringsregel med hjälp av en prenumeration eller resursgrupp som målresurs. Regeln gäller för flera virtuella datorer, inklusive nya datorer som du skapar efter aviseringsregeln.
Agentens pulsslag
Agentens pulsslag skiljer sig något från aviseringen om att datorn inte är tillgänglig eftersom den förlitar sig på Att Azure Monitor-agenten skickar ett pulsslag. Agentens pulsslag kan varna dig om datorn körs men agenten inte svarar.
Måttaviseringsregler
Ett mått med namnet Heartbeat ingår i varje Log Analytics-arbetsyta. Varje virtuell dator som är ansluten till den arbetsytan skickar ett pulsslagsmåttvärde varje minut. Eftersom datorn är en dimension i måttet kan du utlösa en avisering när en dator inte kan skicka ett pulsslag. Ange aggregeringstypen till Antal och Tröskelvärde för att matcha utvärderingskornigheten.
Varningsregler för loggsökning
Loggsökningsaviseringar använder tabellen Pulsslag, som ska ha en pulsslagspost varje minut från varje dator.
Använd en regel med följande fråga:
Heartbeat
| summarize TimeGenerated=max(TimeGenerated) by Computer, _ResourceId
| extend Duration = datetime_diff('minute',now(),TimeGenerated)
| summarize MinutesSinceLastHeartbeat = min(Duration) by Computer, bin(TimeGenerated,5m), _ResourceId
CPU-aviseringar
I det här avsnittet beskrivs CPU-aviseringar.
Måttaviseringsregler
Mål | Mått |
---|---|
Host | Procentandel cpu (ingår i rekommenderade aviseringar) |
Windows-gäst | \Processorinformation(_Total)% processortid |
Linux-gäst | cpu/usage_active |
Varningsregler för loggsökning
CPU-användning
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Processor" and Name == "UtilizationPercentage"
| summarize CPUPercentageAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId
Minnesaviseringar
I det här avsnittet beskrivs minnesaviseringar.
Måttaviseringsregler
Mål | Mått |
---|---|
Host | Tillgängliga minnesbyte (förhandsversion) (ingår i rekommenderade aviseringar) |
Windows-gäst | \Memory% Checkade byte som används \Memory\Tillgängliga byte |
Linux-gäst | mem/available mem/available_percent |
Varningsregler för loggsökning
Kommentar
Om du behöver ange aviseringen till en skiva kan du lägga till den i frågan: | where parse_json(Tags).["vm.azm.ms/mountId"] == "C:"
Tillgängligt minne i MB
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Memory" and Name == "AvailableMB"
| summarize AvailableMemoryInMBAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId
Tillgängligt minne i procent
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Memory" and Name == "AvailableMB"
| extend TotalMemory = toreal(todynamic(Tags)["vm.azm.ms/memorySizeMB"]) | extend AvailableMemoryPercentage = (toreal(Val) / TotalMemory) * 100.0
| summarize AvailableMemoryInPercentageAverage = avg(AvailableMemoryPercentage) by bin(TimeGenerated, 15m), Computer, _ResourceId
Diskaviseringar
I det här avsnittet beskrivs diskaviseringar.
Måttaviseringsregler
Mål | Mått |
---|---|
Windows-gäst | \Logisk disk(_Total)% ledigt utrymme \Logical Disk(_Total)\Free Megabytes |
Linux-gäst | disk/kostnadsfritt disk/free_percent |
Varningsregler för loggsökning
Logisk disk som används – alla diskar på varje dator
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "FreeSpacePercentage"
| summarize LogicalDiskSpacePercentageFreeAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId
Logisk disk som används – enskilda diskar
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize LogicalDiskSpacePercentageFreeAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, Disk
IOPS för logisk disk
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "TransfersPerSecond"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize DiskIOPSAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, Disk
Datahastighet för logiska diskar
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "BytesPerSecond"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize DiskBytesPerSecondAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, Disk
Nätverksaviseringar
Måttaviseringsregler
Mål | Mått |
---|---|
Host | Totalt nätverk, totalt antal nätverk (ingår i rekommenderade aviseringar) |
Windows-gäst | \Nätverksgränssnitt\Skickade byte/s \Logical Disk(_Total)\Free Megabytes |
Linux-gäst | disk/kostnadsfritt disk/free_percent |
Varningsregler för loggsökning
Mottagna nätverksgränssnitt – alla gränssnitt
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "ReadBytesPerSecond"
| summarize BytesReceivedAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId
Mottagna byte för nätverksgränssnitt – enskilda gränssnitt
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "ReadBytesPerSecond"
| extend NetworkInterface=tostring(todynamic(Tags)["vm.azm.ms/networkDeviceId"])
| summarize BytesReceievedAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, NetworkInterface
Skickade byte för nätverksgränssnitt – alla gränssnitt
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "WriteBytesPerSecond"
| summarize BytesSentAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId
Skickade byte för nätverksgränssnitt – enskilda gränssnitt
InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "WriteBytesPerSecond"
| extend NetworkInterface=tostring(todynamic(Tags)["vm.azm.ms/networkDeviceId"])
| summarize BytesSentAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, NetworkInterface
Windows- och Linux-händelser
Följande exempel skapar en avisering när en specifik Windows-händelse skapas. Den använder en måttmätningsaviseringsregel för att skapa en separat avisering för varje dator.
Skapa en aviseringsregel för en specifik Windows-händelse. Det här exemplet visar en händelse i programloggen. Ange ett tröskelvärde på 0 och efterföljande överträdelser som är större än 0.
Event | where EventLog == "Application" | where EventID == 123 | summarize NumberOfEvents = count() by Computer, bin(TimeGenerated, 15m)
Skapa en aviseringsregel för Syslog-händelser med en viss allvarlighetsgrad. I följande exempel visas felauktoriseringshändelser. Ange ett tröskelvärde på 0 och efterföljande överträdelser som är större än 0.
Syslog | where Facility == "auth" | where SeverityLevel == "err" | summarize NumberOfEvents = count() by Computer, bin(TimeGenerated, 15m)
Anpassade prestandaräknare
Skapa en avisering om det maximala värdet för en räknare.
Perf | where CounterName == "My Counter" | summarize AggregatedValue = max(CounterValue) by Computer
Skapa en avisering för genomsnittsvärdet för en räknare.
Perf | where CounterName == "My Counter" | summarize AggregatedValue = avg(CounterValue) by Computer
Nästa steg
Analysera övervakningsdata som samlats in för virtuella datorer