Welcome to the CDK AWS Serverless OTLP Kinesis Lambda repository! This project demonstrates a serverless method to send OpenTelemetry traces to any OTel-compatible vendor using Kinesis Data Streams and AWS Lambda.
OpenTelemetry (OTel) provides a set of tools for observability, allowing developers to collect and export telemetry data from applications. This repository showcases how to implement a serverless architecture using AWS CDK (Cloud Development Kit) to send traces to any OTel-compatible vendor.
With the combination of Kinesis Data Streams and AWS Lambda, this setup allows for real-time data processing and seamless integration with various telemetry backends.
- Serverless Architecture: Utilizes AWS Lambda and Kinesis for scalability and cost-effectiveness.
- OpenTelemetry Support: Easily integrates with any OTel-compatible vendor.
- AWS CDK: Simplifies the deployment and management of cloud resources.
- Real-time Data Processing: Leverages Kinesis for immediate data streaming.
- Extensible: Can be customized to fit various use cases.
The architecture consists of the following components:
- OpenTelemetry SDK: Instrument your application to collect traces.
- Kinesis Data Streams: Acts as a buffer for incoming telemetry data.
- AWS Lambda: Processes data from Kinesis and sends it to the configured OTel vendor.
To get started with this project, ensure you have the following prerequisites:
- AWS Account: You need an AWS account to deploy the resources.
- AWS CLI: Install the AWS Command Line Interface to interact with AWS services.
- Node.js: Install Node.js, which is required for AWS CDK.
- AWS CDK: Install the AWS CDK globally using npm:
npm install -g aws-cdk
Clone this repository to your local machine:
git clone https://github.com/Tobycito/cdk-aws-serverless-otlp-kinesis-lambda.git
cd cdk-aws-serverless-otlp-kinesis-lambda
Before deploying, configure the necessary environment variables:
- Set your AWS region:
export AWS_REGION=us-west-2
- Configure the OpenTelemetry endpoint:
export OTEL_ENDPOINT=https://your-otel-vendor-endpoint
You can build and deploy the application using the following commands:
cdk synth
cdk deploy
This will synthesize the CloudFormation template and deploy the resources defined in the CDK stack.
For deployment, follow these steps:
- Ensure your AWS credentials are configured. You can use the AWS CLI to configure them:
aws configure
- Deploy the application using CDK:
cdk deploy
- Monitor the deployment process in the terminal.
You can download the latest release from the Releases section. Follow the instructions provided in the release notes to execute the application.
We welcome contributions! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your fork.
- Create a pull request.
Please ensure that your code adheres to the existing style and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for more information.
For questions or feedback, feel free to reach out:
- GitHub: Tobycito
- Email: toby@example.com
Thank you for your interest in the CDK AWS Serverless OTLP Kinesis Lambda project! We hope you find it useful for your observability needs. For more information, check the Releases section for updates and new features.