The code below can be used to publish custom metrics to AWS CloudWatch using JAVA.
AmazonCloudWatch amazonCloudWatch = AmazonCloudWatchClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration("monitoring.us-west-1.amazonaws.com","us-west-1")).build(); PutMetricDataRequest putMetricDataRequest = new PutMetricDataRequest(); putMetricDataRequest.setNamespace("CUSTOM/SQS"); MetricDatum metricDatum1 = new MetricDatum().withMetricName("MessageCount").withDimensions(new Dimension().withName("Personalization").withValue("123")); metricDatum1.setValue(-1.00); metricDatum1.setUnit(StandardUnit.Count); putMetricDataRequest.getMetricData().add(metricDatum1); PutMetricDataResult result = amazonCloudWatch.putMetricData(putMetricDataRequest);
The only thing to remember is to enable aws-java-sdk-cloudwatch
source share