Hi @RonakSheth-4286,
As you have selected alert logic based on as "Number of results" so it's considering based on count of results table rows i.e., 1 result row in your case. Change the alert logic based on to "Metric measurement" and add aggregation type at the end of your kusto query then I believe it works as per your expectation.
Your kusto query can be something like shown below (or you may update it as required):
Perf
| where CounterName == "% Free Space"
| where Computer == "VM-01"
| where InstanceName == "C:"
| where InstanceName != "_Total" and InstanceName !contains "HarddiskVolume"
| summarize arg_max(TimeGenerated, *) by InstanceName
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 1s)
Illustration:
For more information with regards to above mentioned two different alert logic based on measurement types, you may refer this Azure document.