【发布时间】:2017-05-01 14:12:42
【问题描述】:
我在 Google Compute Engine 中创建了一个 persistent disk 并将其附加到一个实例。但是,我想知道的是如何监视磁盘上的可用空间?在 Google Cloud Console 或 gcloud 工具中都看不到它。
【问题讨论】:
标签: monitoring google-compute-engine disk
我在 Google Compute Engine 中创建了一个 persistent disk 并将其附加到一个实例。但是,我想知道的是如何监视磁盘上的可用空间?在 Google Cloud Console 或 gcloud 工具中都看不到它。
【问题讨论】:
标签: monitoring google-compute-engine disk
您可以使用 (Google) Stackdriver 监控:https://cloud.google.com/monitoring/
如果您在实例上安装 Monitoring Agent,则 Volume Free Space (Agent) 指标将可用。
您可以设置警报以在重要级别通知您。
请注意,代理现在仅适用于 Premium 订阅。
【讨论】:
如果您无法使用 Stackdriver Monitoring Agent,另一种方法是使用 gcloud 命令行工具写入云日志记录。
请注意,这是使用 beta 命令,因此将来可能会更改。
首先,通过键入以下内容确保安装了日志记录测试版命令:
gcloud beta logging
如果它不起作用,您可以安装:
sudo gcloud components install beta
在您的实例上设置一个 cron 作业以根据计划运行一些脚本:
sudo crontab -e
到文件底部输入:
0 * * * * gcloud beta logging write disk_usage $(df / | awk '{print $5}' | cut -d '%' -f 1 | tail -n 1)
这将运行命令 gcloud beta logging write disk_usage $(df / | awk '{print $5}' | cut -d '%' -f 1 | tail -n 1)小时,这会将已用空间的百分比写入 disk_usage 日志。
接下来转到Logging,从第一个下拉菜单中选择Global,然后从第二个下拉菜单中选择disk_space。
这不是一个完美的解决方案,但它会起作用。
【讨论】:
gcloud 命令都应该在要监控的实例上运行吧?
cut -d '%' 部分是否有意义顺便说一句,因为如果 % 部分保留,我发现它更有启发性,例如42% 明确表示该数字代表磁盘使用情况。此外,如果日志记录命令在日志条目前面加上实例名称,也会有所帮助,因为通常涉及多个实例。