CloudWatch
Oodle provides a seamless integration with AWS CloudWatch Logs. It can be achieved by streaming CloudWatch Logs to AWS Data Firehose which delivers logs to Oodle.
The following diagram shows the data flow from CloudWatch Logs to Oodle.
Configuration
AWS Data Firehose Delivery Stream
To setup the integration, you need to create a AWS Data Firehose delivery stream configured to deliver logs to Oodle endpoint. AWS Data Firehose put undelivered logs to a backup S3 bucket. You will need following parameters to configure the integration:
OODLE_INSTANCE
: Your Oodle instance IDOODLE_API_KEY
: Your Oodle API key for authenticationOODLE_ENDPOINT
: The Oodle endpoint URL for log ingestion. Note the endpoint URL must begin with "https://" per Firehose specification.
We provide a CloudFormation template to create the necessary resources in your AWS account. You can use Quick Create link to create the CloudFormation stack in your AWS account. You will be asked to enter the parameters mentioned above. Be sure to choose the appropriate AWS region in which you want to create the stack. Alternatively, you can download the template from S3 and use it to create the resources in your AWS account.
The CloudFormation stack creates the following resources:
- IAM Roles
LogStreamRole
: role to be assigned while creating subscription filter in log groups. Provides permission to put logs into Firehose.FirehoseRole
: role assigned to Firehose delivery stream, provides permission to write undelivered events to S3 bucket.
- S3 Bucket
S3BackupBucket
: bucket to hold undelivered logs from Firehose.
- Firehose Delivery stream configured to send events to Oodle's http endpoint
CloudWatch Logs Subscription Filter
After the CloudFormation stack is created, you need to create a CloudWatch Logs subscription filter to deliver logs to the Data Firehose delivery stream. The subscription filter immediately starts the flow of real-time log data from the chosen log group to your Amazon Data Firehose delivery stream:
aws logs put-subscription-filter \
--log-group-name "<log-group-name>" \
--filter-name "Oodle" \
--filter-pattern "" \
--destination-arn "arn:aws:firehose:<region>:<aws-account-id>:deliverystream/<delivery-stream-name>" \
--role-arn "arn:aws:iam::<aws-account-id>:role/service-role/<log-stream-role-name>"
Support
If you need assistance or have any questions, please reach out to us through:
- The help chat widget in the bottom-right corner of this page
- Email at support@oodle.ai