监控存储卷可用容量并设置告警,关键在于“实时采集、合理阈值、可靠通知”。Windows系统可利用性能监视器设置% Free Space告警,Linux系统则能通过配置AlertManager,按照环境、挂载点将信息路由至钉钉或信息。需注意,Linux系统要分盘设置阈值、配置恢复通知,且务必进行验证。

监控存储卷可用容量并设置告警,关键在于“实时采集 + 合理阈值 + 可靠通知”。不同的系统都有成熟且对系统侵入性较低的方案,即便不依赖第三方商业软件,也能够顺利实现。
Windows 系统:用自带性能监视器设百分比告警
这是最稳定、免安装、系统级支持的方式,适用于 Windows Server 和 Win10/11:
- 按 Win + R 输入
perfmon.msc打开性能监视器 - 左侧展开「性能日志和警报」→「警报」→ 右键「新建警报设置」
- 添加计数器:对象选
LogicalDisk,计数器选% Free Space,实例选目标盘符(如C:) - 在「将触发警报,如果值是」中选「低于」,填阈值(如
10表示剩余空间 <10% 时告警) - 采样间隔建议设为 5 分钟,兼顾及时性与系统负载
- 在「操作」选项卡中,推荐勾选:
✓ 「应用程序事件日志」→ 告警写入事件查看器(ID 1001),便于后续联动邮件或脚本
✓ 「运行此程序」→ 指向一个msg *弹窗命令或 PowerShell 清理脚本(如自动清空临时文件)
Linux 系统:Shell 脚本 + 邮件通知(轻量可靠)
无需部署复杂组件,适合中小环境或临时加固:
- 用
df -P获取标准格式磁盘数据(-P避免换行截断,比-h更适合脚本解析) - 提取关键分区(如
/、/var/log、/data)的Use%列,过滤掉非本地文件系统(排除tmpfs、devtmpfs) - 设定分级阈值:警告(80%)、严重(90%)、紧急(95%),不同级别发不同内容邮件
- 配合
mailx或ssmtp发送告警,或调用企业微信/钉钉 Webhook(一行 curl 即可) - 通过
crontab每 10 分钟执行一次,脚本开头加锁防止重复运行
统一纳管场景:Prometheus + Node Exporter + AlertManager
适合多台 Linux 服务器集中监控,支持灵活规则与静默管理:
- Node Exporter 默认暴露
node_filesystem_a vail_bytes和node_filesystem_size_bytes,可直接计算使用率 - 在 Prometheus rules 文件中写告警规则,例如:
expr: (1 - node_filesystem_a vail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100 > 90for: 5m(持续 5 分钟超阈值才触发,防抖动) - AlertManager 配置路由规则:按挂载点、环境(prod/staging)、严重等级分发到不同钉钉群或信息通道
- 支持恢复通知(
alerts resolved)和抑制规则(如磁盘满时自动屏蔽 CPU 告警,避免噪音)
关键细节不能漏
无论用哪种方式,以下三点直接影响告警有效性:
- 阈值要分盘设:系统盘(
/)建议 85% 告警,日志盘(/var/log)可设 75%,大数据盘(/data)可放宽到 92%,一刀切容易误报或漏报 - 必须配恢复机制:告警发出后,使用率回落到阈值以下时应有「已恢复」通知;否则运维人员无法确认问题是否解决
- 验证比配置更重要:手动腾空空间至略低于阈值,确认告警真能触发;再清空回收站或删日志,看是否如期恢复——没验证过的告警等于没设
