AmazonCloudWatch cloudWatch = AmazonCloudWatchClientBuilder.defaultClient();
Dimension dimension = new Dimension()
.withName("MyCustomDimension")
.withValue("MyCustomValue");
Metric metric = new Metric()
.withNamespace("MyNamespace")
.withMetricName("MyMetric")
.withDimensions(dimension)
.withUnit(StandardUnit.Count);
PutMetricDataRequest request = new PutMetricDataRequest()
.withNamespace("MyNamespace")
.withMetricData(new MetricDatum()
.withMetricName("MyMetric")
.withValue(25.0)
.withUnit(StandardUnit.Count));
cloudWatch.putMetricData(request);
PutMetricAlarmRequest request = new PutMetricAlarmRequest()
.withAlarmName("MyAlarm")
.withNamespace("MyNamespace")
.withMetricName("MyMetric")
.withComparisonOperator(ComparisonOperator.GreaterThanThreshold)
.withThreshold(30.0)
.withPeriod(60)
.withEvaluationPeriods(1)
.withAlarmActions("arn:aws:sns:us-west-2:123456789012:MyTopic");
cloudWatch.putMetricAlarm(request);