Я пытаюсь сделать сигнал об использовании процессора для экземпляров, некоторые экземпляры являются обычными ec2, а некоторые сделаны в автомасштабировании. Я ищу какую-то метрику/параметр, который может фильтровать экземпляры по тегу: Имя. Возможно ли, если да, то как? если нет, как я могу сделать это по-другому? Спасибо,
Фильтр метрик Amazon cloudwatch по имени экземпляра
Ответы (2)
Насколько я знаю, тег не является частью размеров EC2. Параметры для EC2:
Параметры и показатели AWS EC2 < /а>
Я могу придумать одно решение:
1) получить релевантные экземпляры с помощью фильтра тегов с помощью команды awscli: Describe-Instances. Вы также можете отфильтровать выходные данные, если, например, не хотите видеть все поля. Но, по крайней мере, сохраните основную информацию, такую как идентификатор экземпляра, тег, тип экземпляра и т. д. Вы также можете использовать любой язык AWS SDK API для достижения того же.
2) Затем получите метрики экземпляра, используя list-metrics. Это вернет все экземпляры.
3) Теперь используйте только метрики инстансов, которые вы получили в 1). Вы можете сравнить, используя instance-id. Это цикл в списке, полученный 1) и сравнение элемента с элементами в 2) с использованием идентификатора экземпляра. Отобразите информацию, если они совпадают. Вы можете поместить результаты 2) в dict, чтобы ускорить процесс, т. Е. O (n) вместо O (n ^ 2).
Если кто-то может дать еще лучшее решение, то это хорошо.
Вы можете фильтровать по имени, даже если идентификаторы экземпляров изменятся из-за автомасштабирования, они все равно будут доступны для использования. Я не вижу, какой язык вы используете, однако в 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);
Обратите внимание, что когда вы используете пользовательский фильтр, например, имя, вы должны использовать ключевое слово тега, показанное выше. В AWS есть встроенные фильтры, которые называются атрибутами ресурсов, и их можно увидеть на странице эта ссылка. Однако, если экземпляры изменяются динамически из-за автоматического масштабирования, я бы рекомендовал делать это по имени. Этот сообщение в блоге может быть полезно для вас.