在AWS云监控上,我们每个环境都有一个仪表板。每个仪表板都有N个图。在某些绘图中,使用"自动缩放组名称"(ASG(查找要绘图的数据。
此类绘图示例(编辑,选项卡来源(:
{
"metrics": [
[ "production", "mem_used_percent", "AutoScalingGroupName", "awseb-e-rv8y2igice-stack-AWSEBAutoScalingGroup-3T5YOK67T3FD" ]
],
... other params removed for brevity ...
"title": "Used Memory (%)",
}
每次部署时,ASG名称都会更改(使用源代码中带有Elastic Bean Stalk(EBS(配置文件的代码部署进行部署(。我需要手动查找新名称,并逐一更新N个图。
奇怪的是,这种情况发生在生产和阶段环境中,但不发生在集成中。
所有3个都应该是彼此的副本,具有与EBS配置文件不同的设置,所以我不知道发生了什么
无论如何,我需要的是:
- 选项1:防止部署时更改ASG名称
- 选项2:使用新名称动态更新绘图
- 选项3:在不使用ASG名称的情况下绘制相同的数据(但我找到的替代方案是更改的EC2实例ID以及多个EC2通用的ImageId和InstanceType,因此也不起作用(
我的在线搜索foo结果为空。
更多信息:
我通过调整conf文件,与云观察代理一起发布这些指标:
- https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html
了解CloudWatch搜索表达式语法。它允许您使用令牌进行搜索,例如:
SEARCH(' {AWS/CWAgent, AutoScalingGroupName} MetricName="mem_used_percent" rv8y2igice', 'Average', 300)
这将取代像这样的指标的条目:
"metrics": [
[ { "expression": "SEARCH(' {AWS/CWAgent, AutoScalingGroupName} MetricName="mem_used_percent" rv8y2igice', 'Average', 300)", "label": "Expression1", "id": "e1" } ]
]
只需在控制台中搜索所需结果,就会显示与搜索结果匹配的结果。
要绘制与搜索匹配的所有度量,请选择graph search
并在Graphed metrics
选项卡的Details
中找到所需的准确搜索表达式。
SEARCH('{CWAgent,AutoScalingGroupName,ImageId,InstanceId,InstanceType} mem_used_percent', 'Average', 300)