Example usage for com.amazonaws.services.cloudwatch AmazonCloudWatch putMetricAlarm

List of usage examples for com.amazonaws.services.cloudwatch AmazonCloudWatch putMetricAlarm

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudwatch AmazonCloudWatch putMetricAlarm.

Prototype

PutMetricAlarmResult putMetricAlarm(PutMetricAlarmRequest putMetricAlarmRequest);

Source Link

Document

Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model.

Usage

From source file:aws.example.cloudwatch.PutMetricAlarm.java

License:Open Source License

public static void main(String[] args) {

    final String USAGE = "To run this example, supply an alarm name and instance id\n"
            + "Ex: DeleteAlarm <alarm-name> <instance-id>\n";

    if (args.length != 2) {
        System.out.println(USAGE);
        System.exit(1);//from  ww w .j av a  2 s.c  o m
    }

    String alarmName = args[0];
    String instanceId = args[1];

    final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient();

    Dimension dimension = new Dimension().withName("InstanceId").withValue(instanceId);

    PutMetricAlarmRequest request = new PutMetricAlarmRequest().withAlarmName(alarmName)
            .withComparisonOperator(ComparisonOperator.GreaterThanThreshold).withEvaluationPeriods(1)
            .withMetricName("CPUUtilization").withNamespace("AWS/EC2").withPeriod(60)
            .withStatistic(Statistic.Average).withThreshold(70.0).withActionsEnabled(false)
            .withAlarmDescription("Alarm when server CPU utilization exceeds 70%")
            .withUnit(StandardUnit.Seconds).withDimensions(dimension);

    PutMetricAlarmResult response = cw.putMetricAlarm(request);

    System.out.printf("Successfully created alarm with name %s", alarmName);

}

From source file:cloudwatch.src.main.java.aws.example.cloudwatch.PutMetricAlarm.java

License:Open Source License

public static void main(String[] args) {

    final String USAGE = "To run this example, supply an alarm name and instance id\n"
            + "Ex: DeleteAlarm <alarm-name> <instance-id>\n";

    if (args.length != 2) {
        System.out.println(USAGE);
        System.exit(1);/* w  ww .ja v a2  s  .  co m*/
    }

    String alarmName = args[0];
    String instanceId = args[1];

    final AmazonCloudWatch cloudWatch = AmazonCloudWatchClientBuilder.defaultClient();

    Dimension dimension = new Dimension().withName("InstanceId").withValue(instanceId);

    PutMetricAlarmRequest request = new PutMetricAlarmRequest().withAlarmName(alarmName)
            .withComparisonOperator(ComparisonOperator.GreaterThanThreshold).withEvaluationPeriods(1)
            .withMetricName("CPUUtilization").withNamespace("AWS/EC2").withPeriod(60)
            .withStatistic(Statistic.Average).withThreshold(70.0).withActionsEnabled(false)
            .withAlarmDescription("Alarm when server CPU utilization exceeds 70%")
            .withUnit(StandardUnit.Seconds).withDimensions(dimension);

    PutMetricAlarmResult response = cloudWatch.putMetricAlarm(request);

    System.out.printf("Successfully created alarm with name %s", alarmName);

}

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  ww  .  ja  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));
    }
}