List of usage examples for com.amazonaws.services.cloudwatch.model MetricAlarm getAlarmName
public String getAlarmName()
The name of the alarm.
From source file:aws.example.cloudwatch.DescribeAlarms.java
License:Open Source License
public static void main(String[] args) { final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient(); boolean done = false; while (!done) { DescribeAlarmsRequest request = new DescribeAlarmsRequest(); DescribeAlarmsResult response = cw.describeAlarms(request); for (MetricAlarm alarm : response.getMetricAlarms()) { System.out.printf("Retrieved alarm %s", alarm.getAlarmName()); }/*from ww w. j a v a2 s .c o m*/ request.setNextToken(response.getNextToken()); if (response.getNextToken() == null) { done = true; } } }
From source file:cloudwatch.src.main.java.aws.example.cloudwatch.DescribeAlarms.java
License:Open Source License
public static void main(String[] args) { final AmazonCloudWatch cloudWatch = AmazonCloudWatchClientBuilder.defaultClient(); boolean done = false; while (!done) { DescribeAlarmsRequest request = new DescribeAlarmsRequest(); DescribeAlarmsResult response = cloudWatch.describeAlarms(request); for (MetricAlarm alarm : response.getMetricAlarms()) { System.out.printf("Retrieved alarm %s", alarm.getAlarmName()); }/*from w w w. j a v a 2s. c o m*/ request.setNextToken(response.getNextToken()); if (response.getNextToken() == null) { done = true; } } }
From source file:com.intuit.tank.vmManager.environment.amazon.CloudwatchInstance.java
License:Open Source License
/** * //w w w . ja va 2s.c o m * @param email * @param jobId */ public void removeWatch(String email, String jobId) { String alarmName = getAlarmName(email, jobId); for (MetricAlarm a : asynchCloudWatchClient.describeAlarms().getMetricAlarms()) { if (a.getAlarmName().equalsIgnoreCase(alarmName)) { DeleteAlarmsRequest req = new DeleteAlarmsRequest().withAlarmNames(alarmName); asynchCloudWatchClient.deleteAlarmsAsync(req); } } }
From source file:com.intuit.tank.vmManager.environment.amazon.CloudwatchInstance.java
License:Open Source License
/** * //from w w w.j a v a 2 s. co m * @param instances * @param email * @param jobId */ public void addWatch(Collection<String> instances, String email, String jobId) { String alarmName = getAlarmName(email, jobId); for (MetricAlarm a : asynchCloudWatchClient.describeAlarms().getMetricAlarms()) { if (a.getAlarmName().equalsIgnoreCase(alarmName)) { logger.info("Alarm for job " + jobId + " and email " + email + " already exists."); return; } } List<Dimension> dimensions = new ArrayList<Dimension>(); for (String instanceId : instances) { Dimension d = new Dimension().withName("InstanceId").withValue(instanceId); dimensions.add(d); } PutMetricAlarmRequest request = new PutMetricAlarmRequest().withActionsEnabled(true) .withAlarmName(alarmName).withComparisonOperator(ComparisonOperator.GreaterThanOrEqualToThreshold) .withDimensions(dimensions).withAlarmActions(getOrCreateNotification(email)) .withEvaluationPeriods(1).withPeriod(60).withThreshold(60.0D).withStatistic(Statistic.Average) .withMetricName("CPUUtilization").withNamespace("AWS/EC2"); asynchCloudWatchClient.putMetricAlarm(request); logger.info("Created alarm " + alarmName); }
From source file:com.liferay.amazontools.AlarmCleaner.java
License:Open Source License
protected Map<String, List<String>> getAutoScalingGroupsMetricAlarmNames() { Map<String, List<String>> autoScalingGroupsMetricAlarmNames = new HashMap<>(); DescribeAlarmsResult describeAlarmsResult = amazonCloudWatchClient.describeAlarms(); String nextToken = null;/*from w w w. ja v a 2 s . com*/ do { if (nextToken != null) { DescribeAlarmsRequest describeAlarmsRequest = new DescribeAlarmsRequest(); describeAlarmsRequest.setNextToken(nextToken); describeAlarmsResult = amazonCloudWatchClient.describeAlarms(describeAlarmsRequest); } List<MetricAlarm> metricAlarms = describeAlarmsResult.getMetricAlarms(); for (MetricAlarm metricAlarm : metricAlarms) { String autoScalingGroupName = getAutoScalingGroupName(metricAlarm.getDimensions()); if (autoScalingGroupName == null) { continue; } List<String> alarmNames = autoScalingGroupsMetricAlarmNames.get(autoScalingGroupName); if (alarmNames == null) { alarmNames = new ArrayList<>(); } alarmNames.add(metricAlarm.getAlarmName()); autoScalingGroupsMetricAlarmNames.put(autoScalingGroupName, alarmNames); } nextToken = describeAlarmsResult.getNextToken(); } while (nextToken != null); return autoScalingGroupsMetricAlarmNames; }
From source file:com.netflix.edda.EddaCloudWatchClient.java
License:Apache License
public DescribeAlarmsResult describeAlarms(DescribeAlarmsRequest request) { validateEmpty("ActionPrefix", request.getActionPrefix()); validateEmpty("AlarmNamePrefix", request.getAlarmNamePrefix()); TypeReference<List<MetricAlarm>> ref = new TypeReference<List<MetricAlarm>>() { };/* www .j a v a2 s . co m*/ String url = config.url() + "/api/v2/aws/alarms;_expand"; try { List<MetricAlarm> metricAlarms = parse(ref, doGet(url)); List<String> names = request.getAlarmNames(); String state = request.getStateValue(); if (shouldFilter(names) || shouldFilter(state)) { List<MetricAlarm> mas = new ArrayList<MetricAlarm>(); for (MetricAlarm ma : metricAlarms) { if (matches(names, ma.getAlarmName()) && matches(state, ma.getStateValue())) mas.add(ma); } metricAlarms = mas; } return new DescribeAlarmsResult().withMetricAlarms(metricAlarms); } catch (IOException e) { throw new AmazonClientException("Faled to parse " + url, e); } }
From source file:com.netflix.spinnaker.clouddriver.ecs.provider.agent.EcsCloudMetricAlarmCachingAgent.java
License:Apache License
public static Map<String, Object> convertMetricAlarmToAttributes(MetricAlarm metricAlarm, String accountName, String region) {//from ww w. j a v a2 s. c o m Map<String, Object> attributes = new HashMap<>(); attributes.put("alarmArn", metricAlarm.getAlarmArn()); attributes.put("alarmName", metricAlarm.getAlarmName()); attributes.put("alarmActions", metricAlarm.getAlarmActions()); attributes.put("okActions", metricAlarm.getOKActions()); attributes.put("insufficientDataActions", metricAlarm.getInsufficientDataActions()); attributes.put("accountName", accountName); attributes.put("region", region); return attributes; }
From source file:com.netflix.spinnaker.clouddriver.ecs.services.EcsCloudMetricService.java
License:Apache License
private PutMetricAlarmRequest buildPutMetricAlarmRequest(MetricAlarm metricAlarm, String serviceName, Set<String> insufficientActionPolicyArns, Set<String> okActionPolicyArns, Set<String> alarmActionPolicyArns) { return new PutMetricAlarmRequest().withAlarmName(metricAlarm.getAlarmName() + "-" + serviceName) .withEvaluationPeriods(metricAlarm.getEvaluationPeriods()).withThreshold(metricAlarm.getThreshold()) .withActionsEnabled(metricAlarm.getActionsEnabled()) .withAlarmDescription(metricAlarm.getAlarmDescription()) .withComparisonOperator(metricAlarm.getComparisonOperator()) .withDimensions(metricAlarm.getDimensions()).withMetricName(metricAlarm.getMetricName()) .withUnit(metricAlarm.getUnit()).withPeriod(metricAlarm.getPeriod()) .withNamespace(metricAlarm.getNamespace()).withStatistic(metricAlarm.getStatistic()) .withEvaluateLowSampleCountPercentile(metricAlarm.getEvaluateLowSampleCountPercentile()) .withTreatMissingData(metricAlarm.getTreatMissingData()) .withExtendedStatistic(metricAlarm.getExtendedStatistic()) .withInsufficientDataActions(insufficientActionPolicyArns).withOKActions(okActionPolicyArns) .withAlarmActions(alarmActionPolicyArns); }
From source file:com.netflix.spinnaker.clouddriver.ecs.services.EcsCloudMetricService.java
License:Apache License
public void associateAsgWithMetrics(String account, String region, List<String> alarmNames, String serviceName, String resourceId) {/*from w w w. j a va2 s . c o m*/ AmazonCredentials credentials = (AmazonCredentials) accountCredentialsProvider.getCredentials(account); AmazonCloudWatch cloudWatch = amazonClientProvider.getAmazonCloudWatch(account, credentials.getCredentialsProvider(), region); AWSApplicationAutoScaling autoScalingClient = amazonClientProvider.getAmazonApplicationAutoScaling(account, credentials.getCredentialsProvider(), region); DescribeAlarmsResult describeAlarmsResult = cloudWatch .describeAlarms(new DescribeAlarmsRequest().withAlarmNames(alarmNames)); for (MetricAlarm metricAlarm : describeAlarmsResult.getMetricAlarms()) { Set<String> okScalingPolicyArns = putScalingPolicies(autoScalingClient, metricAlarm.getOKActions(), serviceName, resourceId, "ok", "scaling-policy-" + metricAlarm.getAlarmName()); Set<String> alarmScalingPolicyArns = putScalingPolicies(autoScalingClient, metricAlarm.getAlarmActions(), serviceName, resourceId, "alarm", "scaling-policy-" + metricAlarm.getAlarmName()); Set<String> insufficientActionPolicyArns = putScalingPolicies(autoScalingClient, metricAlarm.getInsufficientDataActions(), serviceName, resourceId, "insuffiicient", "scaling-policy-" + metricAlarm.getAlarmName()); cloudWatch.putMetricAlarm(buildPutMetricAlarmRequest(metricAlarm, serviceName, insufficientActionPolicyArns, okScalingPolicyArns, alarmScalingPolicyArns)); } }