AWS ECS-EC2 OpenTelemetry Instrumentation
This tutorial demonstrates how to deploy OpenTelemetry to ECS to facilitate the collection of logs, metrics, and traces, and send them to Coralogix.
Image
This implementation utilizes the wrapper image coralogixrepo/otel-coralogix-ecs-ec2
, based on the official OpenTelemetry contrib image.
Notes:
The wrapper image is used to dynamically apply the OpenTelemetry configuration at runtime from an environment variable.
The image configuration utilizes the otlp receiver for both HTTP (on 4318) and GRPC (on 4317). Data can be sent using either endpoint.
Prerequisites
Coralogix account
AWS credentials configured
Coralogix Otel ECS Agent CloudFormation template
Configuration
OpenTelemetry
The OpenTelemetry configuration for the agent is stored in a Base64-encoded environment variable and is applied at runtime. This allows you to dynamically pass any configuration values you choose as a parameter to CloudFormation.
Use either of the following configuration examples or combine them to send Coralogix your logs, metrics, and traces.
Notes:
The configuration examples work directly with the
coralogixrepo/otel-coralogix-ecs-wrapper
docker image for ECS.The Coralogix Exporter enables the use of enrichments such as dynamic
application
orsubsystem
name, defined usingapplication_name_attributes
andsubsystem_name_attributes
, respectively.
ECS Cluster
Deploy a new ECS cluster. If you already have an existing ECS Cluster, skip this step.
STEP 1. Deploy a new ECS cluster:
ecs-cli up --region <region> --keypair <your-key-pair> --cluster <cluster-name> --size <no. of instances> --capability-iam
Note: The --keypair
flag and STEP 2 are not mandatory. However, if no Key Pair is supplied, you will be unable to connect to any of the EC2 instances in the cluster via SSH.
STEP 2. Create a key pair using the command below:
STEP 3. Control default values.
The ecs-cli up
command will leverage CloudFormation to create an ECS Cluster. Default values will be used to create and configure a VPC and Subnets. These values can also be controlled using:
ECS Task Definition & Service
Deploy a Task Definition, used by ECS to create an ECS Service to run OpenTelemetry.
STEP 1. Deploy this CloudFormation template, ensuring that all the necessary parameters are provided. You are required to input:
Coralogix Send Your Data - API Key
Coralogix region associated with your account domain
Coralogix application and subsystem names
STEP 2. Once the template is deployed, verify that the container is running:
Support
Need help?
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].