如何在Azure实现单个分区空间报警
各位好,这次我们来做个小实验,之前有讲到过怎么在Azure中实现磁盘空间使用率的报警,这对于日常运维来说都是很基础的需求,但是有一个问题是,Azure本身提供的指标只能看到所有磁盘的使用率,有些常见的场景并没有办法覆盖到
比如说,如果我们希望针对某个分区设置磁盘空间的报警,如D盘或者E盘,这时候Azure本身提供的VM里的metric就不支持了,因为它只能针对整个VM的所有磁盘空间做报警,而不能细化到某一个分区,如果想查看Azure提供的metric,可以看以下网址查看
https://docs.azure.cn/zh-cn/azure-monitor/platform/autoscale-common-metrics
回到之前的话题,如果想做到针对单独的磁盘分区设置报警,也并不是没有办法,Azure其实这里做的是比较灵活的,我们可以在诊断设置里添加自己想要监控的Metrics,只要OS层面会收集这个信息即可
具体怎么操作,我们来看一下
首先,我们需要登录到OS里,找到性能计数器,添加LogicalDisk里的%Free Space,这里就可以选择需要查看的磁盘分区
之后其实就可以看到这个分区的磁盘空间状况了,也就是说Windows本身就是支持查看单独磁盘分区的空间使用率情况的
双击计数器,在性能计数器的属性里,我们可以看到这个条目代表的就是C盘空间使用率的指标了
还有个更简单的办法就是我们可以直接用PowerShell (Get-Counter -ListSet LogicalDisk).PathsWithInstances
可以看到我们其实能够监控很多个系统的状态
之后,在Azure VM的performance counter里,我们选择custom,然后将刚才查到的counter输入进去
之后,其实就可以在常规的VM监控页面看到刚才添加的监控项了!
之后,再想做个什么报警之类的东西还不是手到擒来了,类似地,想再看其他的指标都可以通过这个方法