amazon-web-services - 带有 ASG 名称更改的 AWS 云观察指标
问题描述
在 AWS 云手表上,我们每个环境都有一个仪表板。每个仪表板有 N 个图。一些绘图,使用 Auto Scaling 组名称 (ASG) 来查找要绘图的数据。
此类图的示例(编辑,选项卡源):
{
"metrics": [
[ "production", "mem_used_percent", "AutoScalingGroupName", "awseb-e-rv8y2igice-stack-AWSEBAutoScalingGroup-3T5YOK67T3FD" ]
],
... other params removed for brevity ...
"title": "Used Memory (%)",
}
每次我们部署时,ASG 名称都会更改(使用 code-deploy 和来自源的 Elastic Bean Stalk (EBS) 配置文件进行部署)。我需要手动找到新名称并一一更新N个图。
奇怪的是,这发生在生产和登台环境中,而不是集成。
所有 3 应该是彼此的副本,与 EBS 配置文件的设置不同,所以我不知道发生了什么。
无论如何,(我认为)我需要的是以下之一:
- 选项 1:防止在部署时更改 ASG 名称
- 选项 2:使用新名称动态更新绘图
- 选项 3:在不使用 ASG 名称的情况下绘制相同的数据(但我发现的替代方法是更改的 EC2 实例 ID 以及多个 EC2 通用的 ImageId 和 InstanceType,因此也不起作用)
我的 online-search-foo 变成了空的。
更多信息:
根据此处的文档,通过调整 conf 文件,我正在使用 cloud watch 代理发布这些指标:
解决方案
查看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" } ]
]
推荐阅读
- excel - 无法使用 Key 访问类模块集合,“运行时错误 13 - 类型不匹配”
- javascript - 这是比较两个对象数组和修改属性的最有效的 JavaScript 吗?
- authorization - 共享资源的 Keycloak 决策策略不起作用
- c# - ClosedXML 模板未将数据设置到 Excel 工作表中
- php - Symfony 使用构造函数反序列化对象
- spring - 具有安全性的 Spring Boot Starter - Okta oauth2 的问题
- tensorflow - TensorFlow中如何清除整个网络结构
- javascript - npm Custom Package bin 脚本作为 Windows JScript 文件运行?
- domain-driven-design - 将 UnitOfWork 与 DDD 原则一起使用有什么意义?
- haskell - Haskell 超类型和子类型