I have one virtual machine . Now I want if my disk space showing very low I mean less than 2 gb. Then I want to trigger azure monitor alerts and want to get Email regarding this. is there any metrics azure monitor provide.
There are no predefined alerts for diskspace as of now . But you can create a new alert with custom log search to get the details and then trigger the email to you.
Step 1 : Go to Alerts on your Monitor Page and click on New alert rule .
Step 2: Then select the resource and by resource here you have to select the Log analytics workspace which you have enabled the VM monitoring for . In my case its TestLog.
Step 3: Now select the Custom Log Search .
Step 4: Then provide the Custom Query which I have provided below in the search query box and you can set the threshold value to “0” and period and frequency in mins as per your requirement for an example I have set it to 60mins.
Step 5: Now Select an existing Action group that you have or you can create a new one by clicking on create new and filling the details . After its Created click on the action group and add the notification type as Email or anything you want to specify.
Step 6: Fill rest details like email subject and severity of the alert you want to set it to and then create alert.
Custom Query:
let setgbvalue = 200;//Set the disk space you want to check for.
Perf
| where TimeGenerated > ago(1h)
| where ObjectName == "LogicalDisk" and CounterName == "Free Megabytes"
// exclude all others as we are checking for C: here
| where InstanceName != "D:"
| where InstanceName != "_Total"
| where InstanceName != "HarddiskVolume1"
| extend FreeSpaceGB = CounterValue/1024 // converting the counter value to GB
| summarize FreeSpace = min(FreeSpaceGB) by Computer, InstanceName
| where FreeSpace < setgbvalue //setting condition to check if the value is less than our set value .
Sample :
To test it I had set the value to 200GB and my disk space was 106GB. I received the mail as below.