如何解决根据Cloudwatch Data Agent Metric选择或汇总记录的维度
我正在使用Cloudwatch Data Agent的Procstat插件记录一些每个进程的CPU使用情况。
这一切都可以收集,但是该度量标准记录着“实例ID(例如i-143 ...)”,“图像ID(例如ami-123 ...)”和“实例类型(例如t3.small)'
当服务器进行横向扩展和横向扩展时,由于实例ID更改,我的警报中断了。我还更新了AMI,并且可能会在某些时候更改实例类型。如果我要寻址实例ID,则无论如何AMI和实例类型都将是固定的。
是否有一种方法可以配置Cloudwatch Data Agent以记录没有这些维度的指标,还是可以让Cloudwatch指标跨所有实例ID聚合?
解决方法
我在CloudWatch Agent配置的append_dimensions
和aggregate_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
部分中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。