查看可通过azure Metrics API磁盘空间获得的度量标准,也没有可用内存作为度量标准。
现在我知道我可以使用此通过门户查看这些指标。
但是我特别希望定期查询此数据,以在我的VM的磁盘空间几乎已满(或内存几乎已满)时提醒我。
有什么办法吗?
答案 0 :(得分:3)
如果您的最终目标是
对于上述所有工作方式,您都必须先
如果您的Azure VM是Windows操作系统,则查询以查找磁盘总可用空间为:
Perf
| where ( ObjectName == "LogicalDisk" )
| where ( CounterName == "% Free Space" )
| where ( InstanceName == "_Total" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
如果您的Azure VM是Windows操作系统,则查询以查找磁盘C驱动器的可用空间为:
Perf
| where ( ObjectName == "LogicalDisk" )
| where ( CounterName == "% Free Space" )
| where ( InstanceName == "C:" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
如果您的Azure VM是Linux操作系统,则查询以查找磁盘总可用空间为:
Perf
| where ( ObjectName == "Logical Disk" )
| where ( CounterName == "% Free Space" )
| where ( InstanceName == "_Total" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
如果您的Azure VM是Linux操作系统,则查询以查找安装在Root可用空间上的磁盘:
Perf
| where ( ObjectName == "Logical Disk" )
| where ( CounterName == "% Free Space" )
| where ( InstanceName == "/" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
如果您的Azure VM是Linux操作系统,则查询以查找可用兆字节内存为:
Perf
| where ( ObjectName == "Memory" )
| where ( CounterName == "Available MBytes Memory" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
如果您的Azure VM是Windows操作系统,则查询的可用字节数是:
Perf
| where ( ObjectName == "Memory" )
| where ( CounterName == "Available MBytes" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
如果您的Azure VM是Windows操作系统,则查询以查找正在使用的承诺字节为:
Perf
| where ( ObjectName == "Memory" )
| where ( CounterName == "% Committed Bytes In Use" )
| summarize AggregatedValue= avg(CounterValue) by Computer, bin(TimeGenerated, 30s)
注1:为使上述所有查询正常工作,请确保在Azure门户->日志分析工作区->您的日志分析工作区->高级设置->数据-> Windows性能计数器/ Linux中添加了相应的性能计数器。性能计数器。
注2:使用其他性能计数器,您还可以获取更多数据,例如磁盘读取时间,磁盘写入时间,空闲时间,当前磁盘队列长度,缓存字节,已提交字节,页面错误,页面读取,页面写入,免费索引节点等。
希望这会有所帮助!干杯!
答案 1 :(得分:1)
您可以使用Powershell并远程执行脚本:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/run-command
和/或
要获取所需的指标:
How to get free physical memory of remote computer using PowerShell
答案 2 :(得分:1)
如果您在Azure Monitor中收集磁盘空间/可用内存作为自定义指标,则可以通过标准Azure Monitor指标REST API查询它们。例如,您可以使用Windows Azure诊断(WAD)收集Windows VM上的这些性能计数器,并将其作为自定义指标发送。
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-custom-overview
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/rest-api-walkthrough