我正在尝试对实例的cpu使用情况发出警报,有些实例是常规ec2,有些实例是自动调节。 我正在寻找某种可以按标签过滤实例的度量标准/维度:名称。 是否有可能,如果是,如何?如果不是,我怎么能用不同的方式制作呢? 谢谢,
答案 0 :(得分:0)
据我所知,tag不是EC2维度的一部分。 EC2的尺寸为:
AWS EC2 Dimensions and Metrics
我能想到的一个解决方案是:
1)使用awscli命令 Describe-Instances 使用标记过滤器获取相关实例。如果您不想查看所有字段,也可以过滤输出。但是,至少保留基本信息,如instance-id,tag,instancetype等。您还可以使用任何语言AWS SDK API来实现相同的功能。
2)然后使用list-metrics获取实例指标。这将返回所有实例。
3)现在只使用你在1)中获得的实例的指标。您可以使用instance-id进行比较。这是列表上的循环1)并使用instance-id将项目与2)中的项目进行比较。如果匹配则显示信息。你可以将2)的结果放在一个字典中以使事情变得快,即O(n)而不是O(n ^ 2)。
如果有人可以提供更好的解决方案,那就很好。
答案 1 :(得分:0)
您可以按名称进行过滤,即使实例ID由于自动缩放而发生更改,它们仍然可以使用。我看不到您使用的是哪种语言,但是在Java中会是这样。
// Create custom filter e.g name
Filter filterByName = new Filter();
filterByName.withName("tag:Name").withValues("Instance_1");
// Create Describe Instances Request
DescribeInstancesRequest instanceRequest = new DescribeInstancesRequest()
.withFilters(
filterByName);
请注意,当您使用自定义过滤器(例如名称)时,必须使用如上所示的tag关键字。 AWS确实内置了称为资源属性的过滤器,可以在this链接上看到。但是,如果实例由于自动缩放而动态变化,我建议按名称进行。 blog post可能对您有用。