New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ADOT EKS addon (v0.92.1-eksbuild.1) - Using otlphttp exporters when using the Add-on configuration schema #2685
Comments
I've managed to find a workaround and deploy the adot eks addon without the collector in this way:
and then I customized the aws-otel collector deployment. Taking this as a reference my collector yaml file ended up like this, managing to use the normal config attributes the collector configmap expects like
My main concern with this approach was that by deploying separately the collector from the So far the latest version of the addon used (
But there are already newest version of both of them:
I guess the addon on the control plane will find the best time to update progressively, if I am not mistaken. Some references: |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
Describe the question
I want use the adot eks addon to deploy the aws-otel collector and send logs to an AWS Open Search Ingestion pipeline endpoint.
For that I need to work with the otlp exporter, so when configuring the
json | yaml
schema and referencing the otlp exporter, the addon operations says it is not allowed. For this I am in doubt about what otlp exporter use:otlphttp
should be used. I checked on this repo and I seeotlphttp
is supported as it is referenced in this list.It also requires setting up the
sigv4auth
extension, but theextensions
attribute is not allowed on the AWS DoT schema configuration that the EKS addon provides.otlp/data-prepper
exporter should be used. I have the feeling this is outdated or does not apply to my case as I am using AWS OSIS and not Data Prepper as an Open source product. Am I right?With both
otlphttp
andotlp/data-prepper
I got an error that says those as exporters are "not defined in the schema and the schema does not allow additional properties ..." :otlphttp
exporter caseWhen executing
aws eks create-addon
command I got this errorThis is my
configuration-values-otlphttp.yml
:Here, I want to highlight two things:
A. The
extensions:
attribute, I know it is a kind of "high level" collector configuration and in the configuration is like this as the doc says:But I don't know how to place it on the Add-on configuration schema.
I am aware it should not be
collector.containerLogs.extensions
and therefore the error definition. But it seems the provided schema (which I copied from AWS adot console wizard) does not allow it in any place.Does the adot eks addon allow this customization of
extensions
attribute?The same is happening with
service
attribute where we reference the exporter defined. I am aware it should not be under.collector.containerLogs.service
. But where to place it?B. For the
.collector.containerLogs.exporters.otlphttp
I was expecting this to work as the above link documentation saysotlphttp
is allowed and that is its place according to the schema, but for me is weird to see, it seems the adot addon does not allow the exporter because of this error message:When I use
awscloudwatchlogs
exporter, on the config schema, the addon deployment works and I got the aws-otel operator and aws-otel collector deployed up and running and collecting logs and send them to cloudwatch (previousy assigned permisisons to the IAM role service account.)Is the adot eks addon only intended to work with the
awscloudwatchlogs
exporter when it comes to managing the collector deployment?Steps to reproduce if your question is related to an action
Create an IAM policy with
"osis:Ingest"
to be attached to the IAM Role and take its arn resource address to put it on the--attach-policy-arn
flag below when creating the iam service account:Create the iamservice account. This command will create the IAM role that the service account will reference:
Create an OSIS pipeline and take its endpoint.
Deploy the adot eks addon:
When using the config for cloudwatch exporter the deployment works as I mentioned.
What did you expect to see?
I would expect the folowing:
otlphttp
exporter can be configured like.collector.containerLogs.exporters.otlphttp
similar to the cloudwatch exporter here.The Addon config schema allows
service
andextensions
attributes to be referenced to deploy the adot eks addon.Are these outcomes realistic by configuring them from the addon file values?
Or for that do I need to deploy independently the collector, like this way?
If so, then it means that the collector won't be managed by the adot addon but for me right?
Environment
Describe any aspect of your environment.
If this is related to a deployment of the ADOT Collector please
provide your Collector config file.
My basic collector configurations were provided above in the description of the problem.
Additional context
I got the same situation when deploying the
otlp/data-prepper
exporterOther alternative I've tried is to edit in live the generated configmap once it is deployed and remove the cloudwatch exporter and add the otlphttp, but when I try to do that, the collector config does not update, the configs that I did from the eks addon remains, I guess because they are managed by aws eks (which is cloud formation) and then those remain?
I will appreciate your thoughts on this situation :)
The text was updated successfully, but these errors were encountered: