CloudWatch 代理 Windows LogicalDisk 指标 - 选择卷

CloudWatch Agent Windows LogicalDisk metric - selecting a volume

我想在我的 Windows Server 2019 EC2 实例上的 C: 卷上发送免费 space 的自定义指标。因此,我安装、配置并启动了 CloudWatch 代理。当我检查 CloudWatch 时,我在指标中看到了它,但还有一堆其他卷实例看起来像 HarddiskVolume####:

也许因为这是一个 ECS 实例,所以它们与上面的 Docker 个容器 运行 有关,但我只关心 C: 的免费 space体积。有没有办法只过滤 CloudWatch 代理中的某个卷?我不想为所有这些我没有使用的指标付费。我尝试添加一个自定义维度,其中 instance 作为键,C: 作为值,但它没有做任何事情。

在线查看时,我看到从 SSMAgent 发送指标时有这样一个过滤器,但据我所知,CW 代理可以替代它。

这是我的 CW 代理配置文件:

{
    "agent": {
        "metrics_collection_interval": 60,
        "logfile": "c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log"
    },
    "metrics": {
        "append_dimensions": {
            "AutoScalingGroupName":"${aws:AutoScalingGroupName}",
            "ImageID":"${aws:ImageId}",
            "InstanceId":"${aws:InstanceId}",
            "InstanceType":"${aws:InstanceType}"
        },
        "metrics_collected": {
            "LogicalDisk": {
                "measurement": [
                    "% Free Space"
                ],
                "resources": [
                    "*"
                ]
            },
            "Memory": {
                "measurement": [
                    "% Committed Bytes In Use"
                ]
            }
        }
    }
}

您的 CloudWatch 代理正在为所有发现的磁盘收集 % Free Space,因为您在 resources 数组中指定了 *。您可以告诉代理仅从 C: 驱动器收集测量值,如下所示。请务必在完成并保存每个配置更改后重新启动 Windows 服务。

{
    ...
    "metrics": {
        "metrics_collected": {
            "LogicalDisk": {
                "measurement": [
                    { "name": "% Free Space", "unit": "Percent" }
                ],
                "resources": [
                    "C:"
                ]
            },
            ...
        }
    }
}