根据Cloudwatch Data Agent Metric选择或汇总记录的维度

问题描述

我正在使用Cloudwatch Data Agent的Procstat插件记录一些每个进程的cpu使用情况。

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-procstat-process-metrics.html

这一切都可以收集,但是该度量标准记录着“实例ID(例如i-143 ...)”,“图像ID(例如ami-123 ...)”和“实例类型(例如t3.small)'

当服务器进行横向扩展和横向扩展时,由于实例ID更改,我的警报中断了。我还更新了AMI,并且可能会在某些时候更改实例类型。如果我要寻址实例ID,则无论如何AMI和实例类型都将是固定的。

是否有一种方法可以配置Cloudwatch Data Agent以记录没有这些维度的指标,还是可以让Cloudwatch指标跨所有实例ID聚合?

解决方法

我在CloudWatch Agent配置的append_dimensionsaggregate_dimensions选项中找到了所需的内容。

在配置中“指标”块的顶层,您可以添加尺寸:

"metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}","ImageId": "${aws:ImageId}","InstanceId": "${aws:InstanceId}","InstanceType": "${aws:InstanceType}"
        },...

但是,您只能添加这些AWS维度。

您可以添加自定义维度,但只能添加到特定指标。因此,例如,在CPU指标收集器中:

         "metrics_collected": {
             "cpu": {
                 "append_dimensions": {
                     "CustomDimension": "Foo"
                 },"measurement": [
                     "cpu_usage_idle","cpu_usage_iowait","cpu_usage_user","cpu_usage_system"
                 ],"metrics_collection_interval": 60,"resources": [
                     "*"
                 ],"totalcpu": false
             },

您也可以将它们添加到procstat组中,尽管它是一个列表:

            "procstat": [
                 {
                     "append_dimensions": {
                         "CustomDimension": "Foo"
                     },"pid_file": "/var/run/celerybeat/beat.pid","measurement": [
                         "cpu_usage","memory_locked","pid_count"
                     ]
                 }

最后,您可以使用指标块顶层的aggregation_dimensions汇总这些自定义维度。

虽然自定义维度附加在特定的metric_collected中,但是当aggregation_dimensions出现时,您可以在顶部使用这些维度

"metrics": {
         "append_dimensions": {
             "AutoScalingGroupName": "${aws:AutoScalingGroupName}","InstanceType": "${aws:InstanceType}"
         },"aggregation_dimensions" : [
             ["AutoScalingGroupName"],["AutoScalingGroupName","InstanceType"],["CustomDimension"],["CustomDimension","pidfile"],],"metrics_collected": {
...

这些文档位于https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html中,但是花了我一段时间才将它们挖掘出来,对其进行测试,然后确定自定义维度需要存在于特定的metrics_collected部分中。