OpsRamp integration with Amazon CloudWatch Metric Streams provides a simple and safe way to ingest AWS metrics. The AWS Metric Streaming is configured to get stream of metric data from AWS Cloud without using the traditional method of hitting APIs.
Create the resources mentioned below, in each AWS account, to continuously deliver metric data from AWS cloud to HTTP endpoint:
- Create a Kinesis Data Firehose delivery stream that delivers metrics to OpsRamp.
- Create a CloudWatch Metric Stream linked to your delivery stream.
Once you create these resources, OpsRamp immediately starts receiving the streamed metrics and displays them on the portal. The HTTP endpoint continuously listens and decrypts the data. The resource and metric identification is done based on the labels sent from AWS and maps with resource present in OpsRamp.
The monitoring for AWS is now performed without assignment of templates as data from AWS Cloud directly mapped to resource in OpsRamp. The templates are now used only to configure alerts for the monitors and resource availability.
Enable AWS Metric Streaming
To enable the AWS Metric Streaming in OpsRamp, do the following:
- From All Clients, select a client.
- Go to Setup > Integrations and Apps.
- Select the Enable Metric Streaming checkbox under Perform Actions. You can view the Enable Metric Streaming checkbox while installing a new AWS integration or by editing the existing AWS integration as shown below:
- Click Save.
- Go to INSTALLED INTEGRATIONS and select the integration for which you enabled the metric streaming.
- From the Actions menu, click Edit.
- Go to Perform Actions tab and copy the URL. You need this URL while configuring metric streaming in AWS Console.
Configure AWS Metric Streaming in AWS Console
To set up the metric streams using the AWS Console, do the following:
Create delivery stream in Kinesis Firehose:
- On the AWS Console, go to Amazon Kinesis > Delivery streams > Create delivery stream.
- Create a new Kinesis Data Firehose delivery stream with the following specifications:
- Source: select Direct PUT.
- Destination: select HTTP EndPoint.
- Enter a delivery stream name under Delivery stream name.
- Under Destination settings, enter the URL copied from the OpsRamp AWS integrations in HTTP endpoint URL field.
- In Retry duration enter the time duration as 60 seconds (minimum 0 and maximum 7200 seconds). This is the length of time during which the Firehose retries delivery after a failure, starting from the initial request and including the first attempt.
- Under Buffer hints, select the Buffer size as 1 MiB.
- Choose the S3backup bucket that you want to send the data when data is failed to push to the HTTP endpoint.
- Click Create Delivery stream. The delivery stream is now created.
Create metric stream in CloudWatch:
- In CloudWatch, go to Metrics > Streams.
- Select All metrics to get monitoring data of all the resources onboarded in AWS Cloud.
- Under Configuration, select an existing delivery stream that was created earlier. Enter the firehose stream name under the Select your Kinesis Data Firehose stream you created earlier.
- Select the output format as JSON.
- Enter a name for the metric stream in the Metric stream name field.
- Click Create metric stream. The metric stream is now created.
Once you see the Metric Stream resource has been successfully created, wait for OpsRamp to recognize the change. To validate completion, go to the Metrics section in OpsRamp and verify that the activated regions are enabled under CloudWatch Metric Streams for the specified AWS account.