Example usage for com.amazonaws.services.cloudwatch.model MetricAlarm getAlarmName

List of usage examples for com.amazonaws.services.cloudwatch.model MetricAlarm getAlarmName

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudwatch.model MetricAlarm getAlarmName.

Prototype


public String getAlarmName() 

Source Link

Document

The name of the alarm.

Usage

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));
    }
}