Можно ли найти сигнал тревоги или проверить, существует ли он уже в CloudWatch, с помощью Java api?
Я сейчас так делаю, но мне это не кажется многообещающим.
long offsetInMilliseconds = 1000 * 60 * 60 * 24;
Dimension instanceDimension = new Dimension();
instanceDimension.setName("InstanceId");
instanceDimension.setValue("i-201cb891");
//Check is Alarms with name exist.
GetMetricStatisticsRequest getMetricStatisticsRequest = new GetMetricStatisticsRequest()
.withStartTime(new Date(new Date().getTime() - offsetInMilliseconds))
.withNamespace("AWS/EC2")
.withPeriod(60 * 60)
.withMetricName("StatusCheckFailed")
.withStatistics("Average")
.withDimensions(Arrays.asList(instanceDimension))
.withEndTime(new Date());
GetMetricStatisticsResult getMetricStatisticsResult = cloudWatch.getMetricStatistics(getMetricStatisticsRequest);
System.out.println("" + getMetricStatisticsResult.getDatapoints().size());
if(getMetricStatisticsResult.getDatapoints().size() == 0) {
PutMetricAlarmRequest request = new PutMetricAlarmRequest()
.withActionsEnabled(true).withAlarmName("i-201cb891")
.withComparisonOperator(ComparisonOperator.GreaterThanOrEqualToThreshold)
.withDimensions(Arrays.asList(instanceDimension))
// .withAlarmActions(getTopicARN())
.withEvaluationPeriods(1)
.withPeriod(60)
.withThreshold(60.0D)
.withStatistic(Statistic.Average)
.withMetricName("StatusCheckFailed")
.withNamespace("AWS/EC2");
cloudWatch.putMetricAlarm(request);
System.out.println("Alarm created for Instance with ID : " + "i-201cb891");
}else{
System.out.println("Alarm exists with name : " + "i-201cb891");
}
Вы можете использовать интерфейс AmazonCloudWatch для запроса ваших будильников.
Из AmazonCloudWatch API:
Вы можете использовать этот метод для запроса ваших сигналов тревоги, например, по имени или по префиксу.
В следующем фрагменте кода показано, как использовать API:
Справочник по AWS SDK для Java API — 1.10.43
как получить следующий набор сигналов тревоги с помощью токена? .. Я думаю, что сначала он дает мне только первые 50 из списка — person Yahiya; 19.02.2016