List of usage examples for com.amazonaws.services.cloudwatch AmazonCloudWatch putMetricAlarm
PutMetricAlarmResult putMetricAlarm(PutMetricAlarmRequest putMetricAlarmRequest);
Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model.
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)); } }