AWS Distro for OpenTelemetry
OTLP Ingest Collector Configuration
OTLP Ingest Collector Configuration
The OpenTelemetry Protocol (OTLP) Ingest collector configuration launches a preconfigured OpenTelemetry Collector custom resource to ingest trace export calls with the otlp receiver. By opting into the available pipeline you can control where the collected traces are sent.
Prerequisites
Setup an IAM role to associate with the service account
An IAM Role with the following policies must be created for the following Kubernetes service account and namespace.
Service Account Name | Namespace | IAM Policies |
---|---|---|
AWSXrayWriteOnlyAccess |
Note: Only attach the minimum set of policies necessary for your advanced configuration.
The IAM Roles for Service Accounts documentation (IRSA) contains instructions for creating the IAM role. The following examples will use eksctl to achieve this.
To create this IAM role, run the following command:
eksctl create iamserviceaccount \ --name adot-col-otlp-ingest \ --namespace opentelemetry-operator-system \ --cluster <your_cluster_name> \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess \ --approve \ --role-only
This IAM role generated by the above command needs to be inserted into the annotations field of the advanced configuration as seen below:
collector: otlpIngest: serviceAccount: annotations: eks.amazonaws.com/role-arn: <iam_role_arn>
OTLP Ingest pipelines
The following pipelines are available for the OTLP Ingest preconfigured custom resource.
Pipelines can be enabled by setting their enabled
field to true
.
Traces
OTLP Ingest Advanced Configuration pipeline
collector: otlpIngest: serviceAccount: annotations: eks.amazonaws.com/role-arn: <iam_role_arn> pipelines: traces: xray: enabled: true
OTLP Ingest configurable values
Shown below is the complete list of configurable fields, along with their default values, for the otlpIngest resource.
collector: otlpIngest: resources: limits: cpu: 1000m memory: 750Mi requests: cpu: 300m memory: 512Mi serviceAccount: annotations: pipelines: traces: xray: enabled: false
*Note that in Fargate, resource requests and limits must be equal, see this troubleshooting guide for more information.