This article applies to:
• Data Ingestion
Overview
VMware Aria Operations for Applications retrieves AWS metric and dimension data from AWS services using the AWS CloudWatch API. As the list of AWS Services that publish CloudWatch metrics expands, the option to collect metrics from a particular product may not be available from the Cloudwatch Integration UI page. This article describes how to use the API to update the CloudWatch Integration to retrieve the AWS service metrics not currently displayed as an option in the VMware Aria Operations for Applications CloudWatch Integration setup page.
Procedure
1. Open the Integrations page and select the Amazon Web Services tile.
2. Click on Setup and select the CloudWatch Integration to be updated.
Once the CloudWatch Integration edit page loads up, copy the integration ID from the URL (everything after extdata/edit/cloudwatch/).
In example below the Cloudwatch integration ID is found in the browser bar URL field. It is part of the https://xxx.wavefront.com/extdata/edit/cloudwatch/ "xxxxxxxx-xxxx-4xx2-axxa-xxxxxxxxxxxx".
3. Click on the Gear Icon in the top right corner menu and select API Documentation, this opens a new browser window to the swagger API.
4. Navigate to the Cloud Integration section of the API page and click on GET /api/v2/cloudintegration/{id}.
Post the CloudWatch Integration ID copied earlier and click the "try it out!" button.
Copy the full text inside the response body generated into a text file.
5. Edit the response body to add the required service namespace and metricFilterRegex (if one exists). For example the integration body below currently does not include the Amazon Neptune service. See the AWS services cloudwatch metrics page for all service and namespace details.
"namespaces": [
"AWS/EBS",
"AWS/ApiGateway",
"AWS/EC2",
"AWS/ELB",
"AWS/ElastiCache",
"AWS/ApplicationELB",
"AWS/SES",
"AWS/NATGateway",
"AWS/AutoScaling",
"AWS/RDS"
],
"metricFilterRegex": "^(aws.(ecs|ses|instance|autoscaling|sqs|sns|reservedInstance|ebs|route53.health|ec2.status|ec2.cpuutilization|ec2.network|ec2.autoscaling|autoscaling|elb|dynamodb|kinesis|firehose|s3|applicationelb|networkelb|lambda|rds|elasticache|applicationelb|natgateway).*)"
6. Add the required service (in this example Amazon Neptune) to the namespace array and metricFilterRegex like shown below:
"namespaces": [
"AWS/EBS",
"AWS/ApiGateway",
"AWS/EC2",
"AWS/ELB",
"AWS/ElastiCache",
"AWS/ApplicationELB",
"AWS/SES",
"AWS/NATGateway",
"AWS/AutoScaling",
"AWS/RDS",
"AWS/Neptune"
],
"metricFilterRegex": "^(aws.(ecs|ses|instance|autoscaling|sqs|sns|reservedInstance|ebs|route53.health|ec2.status|ec2.cpuutilization|ec2.network|ec2.autoscaling|autoscaling|elb|dynamodb|kinesis|firehose|s3|applicationelb|networkelb|lambda|rds|elasticache|applicationelb|natgateway|neptune).*)"
7. Go to the PUT /api/v2/cloudintegration/{id} section on the API page and copy in the Integration ID and the new edited response body. Click the "try it out!" button to post the new Integration update.
8. Verify that the response has a 200 status code to indicate the update was successful.
Comments