Virtuele machines bewaken met Azure Monitor: waarschuwingen

Dit artikel maakt deel uit van de handleiding Virtuele machines en hun workloads in Azure Monitor bewaken. Waarschuwingen in Azure Monitor stellen u proactief op de hoogte van interessante gegevens en patronen in uw bewakingsgegevens. Er zijn geen vooraf geconfigureerde waarschuwingsregels voor virtuele machines, maar u kunt uw eigen regels maken op basis van gegevens die u van Azure Monitor Agent verzamelt. Dit artikel bevat waarschuwingsconcepten die specifiek zijn voor virtuele machines en algemene waarschuwingsregels die worden gebruikt door andere Azure Monitor-klanten.

In dit scenario wordt beschreven hoe u volledige bewaking van uw azure- en hybride virtuele-machineomgeving implementeert:

Belangrijk

De meeste waarschuwingsregels hebben een kosten die afhankelijk zijn van het type regel, hoeveel dimensies deze bevat en hoe vaak deze worden uitgevoerd. Voordat u waarschuwingsregels maakt, raadpleegt u de sectie Waarschuwingsregels in azure Monitor-prijzen.

Gegevens verzamelen

Waarschuwingsregels controleren gegevens die al zijn verzameld in Azure Monitor. U moet ervoor zorgen dat gegevens worden verzameld voor een bepaald scenario voordat u een waarschuwingsregel kunt maken. Zie Virtuele machines bewaken met Azure Monitor: Verzamel gegevens voor hulp bij het configureren van gegevensverzameling voor verschillende scenario's, inclusief alle waarschuwingsregels in dit artikel.

Azure Monitor biedt een set aanbevolen waarschuwingsregels die u snel kunt inschakelen voor elke virtuele Azure-machine. Deze regels zijn een goed uitgangspunt voor basisbewaking. Maar alleen bieden ze niet voldoende waarschuwingen voor de meeste enterprise-implementaties om de volgende redenen:

  • Aanbevolen waarschuwingen zijn alleen van toepassing op virtuele Azure-machines en niet op hybride machines.
  • Aanbevolen waarschuwingen omvatten alleen metrische hostgegevens en niet metrische gegevens van gasten of logboeken. Deze metrische gegevens zijn handig om de status van de machine zelf te bewaken. Maar ze bieden u minimale zichtbaarheid in de werkbelastingen en toepassingen die op de computer worden uitgevoerd.
  • Aanbevolen waarschuwingen zijn gekoppeld aan afzonderlijke machines die een overmatig aantal waarschuwingsregels maken. In plaats van te vertrouwen op deze methode voor elke machine, raadpleegt u Waarschuwingsregels schalen voor strategieën voor het gebruik van een minimaal aantal waarschuwingsregels voor meerdere computers.

Waarschuwingstypen

De meest voorkomende typen waarschuwingsregels in Azure Monitor zijn metrische waarschuwingen en waarschuwingen voor zoeken in logboeken. Het type waarschuwingsregel dat u voor een bepaald scenario maakt, is afhankelijk van waar de gegevens zich bevinden waarop u waarschuwingen uitvoert.

Mogelijk zijn er gevallen waarin gegevens voor een bepaald waarschuwingsscenario beschikbaar zijn in zowel metrische gegevens als logboeken. Zo ja, dan moet u bepalen welk regeltype moet worden gebruikt. Mogelijk hebt u ook flexibiliteit bij het verzamelen van bepaalde gegevens en kunt u uw beslissing over het type waarschuwingsregel uw beslissing laten bepalen voor de methode voor gegevensverzameling.

Waarschuwingen voor metrische gegevens

Veelvoorkomende toepassingen voor waarschuwingen voor metrische gegevens:

  • Waarschuwing wanneer een bepaalde metrische waarde een drempelwaarde overschrijdt. Een voorbeeld is wanneer de CPU van een machine hoog wordt uitgevoerd.

Gegevensbronnen voor metrische waarschuwingen:

  • Metrische hostgegevens voor virtuele Azure-machines, die automatisch worden verzameld
  • Metrische gegevens die zijn verzameld door de Azure Monitor-agent van het gastbesturingssysteem

Waarschuwingen voor zoeken in logboeken

Veelvoorkomende toepassingen voor waarschuwingen voor zoeken in logboeken:

  • Waarschuwing wanneer een bepaalde gebeurtenis of een bepaald patroon van gebeurtenissen uit het Windows-gebeurtenislogboek of Syslog wordt gevonden. Deze waarschuwingsregels meten meestal tabelrijen die zijn geretourneerd door de query.
  • Waarschuwing op basis van een berekening van numerieke gegevens op meerdere computers. Deze waarschuwingsregels meten doorgaans de berekening van een numerieke kolom in de queryresultaten.

Gegevensbronnen voor waarschuwingen voor zoeken in logboeken:

  • Alle gegevens die zijn verzameld in een Log Analytics-werkruimte

Waarschuwingsregels schalen

Omdat u mogelijk veel virtuele machines hebt waarvoor dezelfde bewaking is vereist, hoeft u geen afzonderlijke waarschuwingsregels te maken voor elke machine. U wilt er ook voor zorgen dat er verschillende strategieën zijn om het aantal waarschuwingsregels te beperken dat u moet beheren, afhankelijk van het type regel. Elk van deze strategieën is afhankelijk van het begrijpen van de doelresource van de waarschuwingsregel.

Regels voor metrische waarschuwingen

Virtuele machines ondersteunen meerdere waarschuwingsregels voor metrische resourcegegevens, zoals beschreven in Meerdere resources bewaken. Met deze mogelijkheid kunt u één waarschuwingsregel voor metrische gegevens maken die van toepassing is op alle virtuele machines in een resourcegroep of abonnement binnen dezelfde regio.

Begin met de aanbevolen waarschuwingen en maak een bijbehorende regel voor elk met behulp van uw abonnement of een resourcegroep als doelresource. U moet dubbele regels maken voor elke regio als u machines in meerdere regio's hebt.

Als u vereisten voor meer metrische waarschuwingsregels identificeert, volgt u dezelfde strategie met behulp van een abonnement of resourcegroep als de doelresource voor:

  • Minimaliseer het aantal waarschuwingsregels dat u moet beheren.
  • Zorg ervoor dat ze automatisch worden toegepast op nieuwe machines.

Waarschuwingsregels voor zoeken in logboeken

Als u de doelresource van een waarschuwingsregel voor zoeken in logboeken instelt op een specifieke computer, worden query's beperkt tot gegevens die aan die machine zijn gekoppeld, waardoor u er afzonderlijke waarschuwingen voor krijgt. Voor deze rangschikking is een afzonderlijke waarschuwingsregel vereist voor elke machine.

Als u de doelresource van een waarschuwingsregel voor zoeken in logboeken instelt op een Log Analytics-werkruimte, hebt u toegang tot alle gegevens in die werkruimte. Daarom kunt u met één regel waarschuwen voor gegevens van alle computers in de werkgroep. Deze rangschikking biedt u de mogelijkheid om één waarschuwing te maken voor alle computers. Vervolgens kunt u dimensies gebruiken om voor elke machine een afzonderlijke waarschuwing te maken.

U kunt bijvoorbeeld een waarschuwing geven wanneer er een fout gebeurtenis wordt gemaakt in het Windows-gebeurtenislogboek op elke computer. U moet eerst een regel voor gegevensverzameling maken zoals beschreven in Gebeurtenissen en prestatiemeteritems verzamelen van virtuele machines met Azure Monitor Agent om deze gebeurtenissen naar de Event tabel in de Log Analytics-werkruimte te verzenden. Vervolgens maakt u een waarschuwingsregel waarmee deze tabel wordt opgevraagd met behulp van de werkruimte als doelresource en de voorwaarde die wordt weergegeven in de volgende afbeelding.

De query retourneert een record voor eventuele foutberichten op een computer. Gebruik de optie Splitsen op dimensies en geef _ResourceId op om de regel te instrueren een waarschuwing te maken voor elke machine als er meerdere machines worden geretourneerd in de resultaten.

Screenshot that shows a new log search alert rule with split by dimensions.

Afmetingen

Afhankelijk van de informatie die u in de waarschuwing wilt opnemen, moet u mogelijk splitsen met behulp van verschillende dimensies. In dit geval moet u ervoor zorgen dat de benodigde dimensies in de query worden geprojecteerd met behulp van het project of de operator uitbreiden . Stel het kolomveld Resource-id in op Niet splitsen en neem alle zinvolle dimensies in de lijst op. Zorg ervoor dat alle toekomstige waarden opnemen is geselecteerd, zodat alle waarden die worden geretourneerd uit de query, worden opgenomen.

Screenshot that shows a new log search alert rule with split by multiple dimensions.

Dynamische drempelwaarden

Een ander voordeel van het gebruik van waarschuwingsregels voor zoeken in logboeken is de mogelijkheid om complexe logica in de query op te nemen voor het bepalen van de drempelwaarde. U kunt de drempelwaarde hardcoderen, deze toepassen op alle resources of dynamisch berekenen op basis van een veld of berekende waarde. De drempelwaarde wordt alleen toegepast op resources volgens specifieke voorwaarden. U kunt bijvoorbeeld een waarschuwing maken op basis van het beschikbare geheugen, maar alleen voor computers met een bepaalde hoeveelheid totaal geheugen.

Algemene waarschuwingsregels

De volgende sectie bevat algemene waarschuwingsregels voor virtuele machines in Azure Monitor. Details voor waarschuwingen voor metrische gegevens en waarschuwingen voor zoeken in logboeken worden voor elk van deze waarschuwingen gegeven. Zie Waarschuwingstypen voor hulp bij het type waarschuwing dat moet worden gebruikt. Als u niet bekend bent met het proces voor het maken van waarschuwingsregels in Azure Monitor, raadpleegt u de instructies voor het maken van een nieuwe waarschuwingsregel.

Notitie

De details voor waarschuwingen voor zoeken in logboeken die hier worden gegeven, zijn het gebruik van gegevens die worden verzameld met behulp van VM Insights. Dit biedt een set algemene prestatiemeteritems voor het clientbesturingssysteem. Deze naam is onafhankelijk van het type besturingssysteem.

Machine is niet beschikbaar

Een van de meest voorkomende bewakingsvereisten voor een virtuele machine is het maken van een waarschuwing als deze niet meer wordt uitgevoerd. De beste methode is om een waarschuwingsregel voor metrische gegevens in Azure Monitor te maken met behulp van de metrische gegevens over de beschikbaarheid van vm's, die momenteel in openbare preview zijn. Zie Beschikbaarheidswaarschuwingsregel maken voor virtuele Azure-machines voor een overzicht van deze metrische gegevens.

Zoals beschreven in waarschuwingsregels voor schalen, maakt u een waarschuwingsregel voor beschikbaarheid met behulp van een abonnement of resourcegroep als doelresource. De regel is van toepassing op meerdere virtuele machines, inclusief nieuwe machines die u na de waarschuwingsregel maakt.

Heartbeat van agent

De heartbeat van de agent verschilt enigszins van de waarschuwing dat de machine niet beschikbaar is, omdat deze afhankelijk is van de Azure Monitor-agent om een heartbeat te verzenden. De heartbeat van de agent kan u waarschuwen als de machine wordt uitgevoerd, maar de agent reageert niet.

Regels voor metrische waarschuwingen

Een metrische waarde met de naam Heartbeat wordt opgenomen in elke Log Analytics-werkruimte. Elke virtuele machine die is verbonden met die werkruimte verzendt elke minuut een metrische waarde voor heartbeat. Omdat de computer een dimensie is voor de metrische gegevens, kunt u een waarschuwing activeren wanneer een computer geen heartbeat verzendt. Stel het aggregatietype in op Aantal en de drempelwaarde zodat deze overeenkomt met de evaluatiegranulariteit.

Waarschuwingsregels voor zoeken in logboeken

Waarschuwingen voor zoeken in logboeken maken gebruik van de Heartbeat-tabel, die elke minuut vanaf elke computer een heartbeatrecord moet hebben.

Gebruik een regel met de volgende query:

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-waarschuwingen

In deze sectie worden CPU-waarschuwingen beschreven.

Regels voor metrische waarschuwingen

Doel Metric
Host Percentage CPU (opgenomen in aanbevolen waarschuwingen)
Windows-gast \Processor Information(_Total)% processortijd
Linux-gast cpu/usage_active

Waarschuwingsregels voor zoeken in logboeken

CPU-gebruik

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Processor" and Name == "UtilizationPercentage"
| summarize CPUPercentageAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId

Geheugenwaarschuwingen

In deze sectie worden geheugenwaarschuwingen beschreven.

Regels voor metrische waarschuwingen

Doel Metric
Host Beschikbare geheugenbytes (preview) (opgenomen in aanbevolen waarschuwingen)
Windows-gast \Memory% vastgelegde bytes in gebruik
\Memory\Available Bytes
Linux-gast mem/available
mem/available_percent

Waarschuwingsregels voor zoeken in logboeken

Beschikbaar geheugen in MB

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Memory" and Name == "AvailableMB"
| summarize AvailableMemoryInMBAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId

Beschikbaar geheugen in percentage

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  

Schijfwaarschuwingen

In deze sectie worden schijfwaarschuwingen beschreven.

Regels voor metrische waarschuwingen

Doel Metric
Windows-gast \Logische schijf(_Total)% vrije ruimte
\Logische schijf(_Total)\Gratis megabytes
Linux-gast schijf/gratis
schijf/free_percent

Waarschuwingsregels voor zoeken in logboeken

Gebruikte logische schijf - alle schijven op elke computer

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "FreeSpacePercentage"
| summarize LogicalDiskSpacePercentageFreeAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId 

Gebruikte logische schijf - afzonderlijke schijven

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 voor logische schijven

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 

Gegevenssnelheid van logische schijf

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 

Netwerkwaarschuwingen

Regels voor metrische waarschuwingen

Doel Metric
Host Network In Total, Network Out Total (opgenomen in aanbevolen waarschuwingen)
Windows-gast \Network Interface\Verzonden Bytes per seconde
\Logische schijf(_Total)\Gratis megabytes
Linux-gast schijf/gratis
schijf/free_percent

Waarschuwingsregels voor zoeken in logboeken

Ontvangen netwerkinterfaces - alle interfaces

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "ReadBytesPerSecond"
| summarize BytesReceivedAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId  

Ontvangen netwerkinterfaces - afzonderlijke interfaces

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 

Verzonden netwerkinterfaces - alle interfaces

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "WriteBytesPerSecond"
| summarize BytesSentAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId 

Verzonden netwerkinterfaces - afzonderlijke interfaces

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- en Linux-gebeurtenissen

In het volgende voorbeeld wordt een waarschuwing gemaakt wanneer een specifieke Windows-gebeurtenis wordt gemaakt. Er wordt een waarschuwingsregel voor metrische metingen gebruikt om voor elke computer een afzonderlijke waarschuwing te maken.

  • Maak een waarschuwingsregel voor een specifieke Windows-gebeurtenis. In dit voorbeeld ziet u een gebeurtenis in het toepassingslogboek. Geef een drempelwaarde op van 0 en opeenvolgende schendingen die groter zijn dan 0.

    Event 
    | where EventLog == "Application"
    | where EventID == 123 
    | summarize NumberOfEvents = count() by Computer, bin(TimeGenerated, 15m)
    
  • Maak een waarschuwingsregel voor Syslog-gebeurtenissen met een bepaalde ernst. In het volgende voorbeeld ziet u foutautorisatie-gebeurtenissen. Geef een drempelwaarde op van 0 en opeenvolgende schendingen die groter zijn dan 0.

    Syslog
    | where Facility == "auth"
    | where SeverityLevel == "err"
    | summarize NumberOfEvents = count() by Computer, bin(TimeGenerated, 15m)
    

Aangepaste prestatiemeteritems

  • Maak een waarschuwing over de maximumwaarde van een teller.

    Perf 
    | where CounterName == "My Counter" 
    | summarize AggregatedValue = max(CounterValue) by Computer
    
  • Maak een waarschuwing voor de gemiddelde waarde van een teller.

    Perf 
    | where CounterName == "My Counter" 
    | summarize AggregatedValue = avg(CounterValue) by Computer
    

Volgende stappen

Bewakingsgegevens analyseren die zijn verzameld voor virtuele machines