首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择或聚合根据Cloudwatch数据代理指标记录的维度

选择或聚合根据Cloudwatch数据代理指标记录的维度
EN

Stack Overflow用户
提问于 2020-10-13 17:45:35
回答 1查看 412关注 0票数 0

我正在使用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.mall)’

当服务器被扩展和扩展时,我的告警会中断,因为实例ID发生了变化。我还更新了AMI,并可能在某个时候更改实例类型。如果我处理的是一个实例ID,那么AMI和实例类型无论如何都是固定的。

有没有办法将Cloudwatch数据代理配置为记录没有这些维度的指标,或者让Cloudwatch metrics聚合所有实例ID?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-28 01:20:14

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

在配置中"metrics“块的顶层,您可以添加维度:

代码语言:javascript
复制
"metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
            "ImageId": "${aws:ImageId}",
            "InstanceId": "${aws:InstanceId}",
            "InstanceType": "${aws:InstanceType}"
        },
...

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

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

代码语言:javascript
复制
         "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组中,尽管它是一个列表:

代码语言:javascript
复制
            "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时,您可以在顶部使用这些维度

代码语言:javascript
复制
"metrics": {
         "append_dimensions": {
             "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
             "InstanceId": "${aws:InstanceId}",
             "InstanceType": "${aws:InstanceType}"
         },
         "aggregation_dimensions" : [
             ["AutoScalingGroupName"],
             ["AutoScalingGroupName", "InstanceType"],
             ["CustomDimension"],
             ["CustomDimension", "InstanceType"],
             ["CustomDimension", "pidfile"],
         ],
         "metrics_collected": {
...

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64332722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档