我正在尝试使用来自 Cloudwatch 代理的指标来实现磁盘空间可用警报(在 Cloudformation 中),但在设备改组 DeviceID 时遇到了问题。
我之前在使用 fstab 时遇到过这种情况,EC2 实例以看似随机的顺序附加 EBS 卷。如果我有两个 EBS 卷,一个用于操作系统,一个用于数据,它们可以在 nvme0n1/nvme1n1 之间随机交换。我能够使用分区 UUID 解决这个问题。
但是,我认为在创建警报时没有办法解决这个问题。必须使用指定设备 ID (nvme0n1) 和挂载点 (/var/data) 的指标来创建警报。这些可以在任何给定的启动时交换。请参阅https://i.stack.imgur.com/s9Mbq.jpg您可以看到,当服务器重启时设备会发生变化,因此实际上有四个数据点代表两个信息点。
有没有办法让 Cloudwatch Agent 在没有设备的情况下进行报告,或者编写警报以应用于任何设备指标?
答案1
在对文档进行一些挖掘之后,解决方案是使用配置 json 文件中的布尔值来删除该设备。
最终的块将会像这样。
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"/",
"/var/data"
],
"drop_device": true
},