Skip to content
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

Replace apm-server OTLP endpoint with Otel native processors and Elasticsearch #120

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

rogercoll
Copy link

@rogercoll rogercoll commented Oct 29, 2024

Changes

OpenTelemetry native pipeline using Elastic APM enrichment and aggregation processors. Aligns with 8.16 K8s Onboarding flow configuration: https://github.com/elastic/opentelemetry/blob/8.16/resources/kubernetes/operator/helm/values.yaml

Note: The K8s daemonset could forward the gathered signals to the deployment instance, and just have a collector sending data to Elasticsearch. This PR uses the daemonset to send directly to ES, thus not requiring the deployment collector to collect K8s metrics and logs.

Merge Requirements

For new features contributions, please make sure you have completed the following
essential items:

  • CHANGELOG.md updated to document new feature additions
  • Appropriate documentation updates in the docs
  • Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

@rogercoll rogercoll force-pushed the otel_native_pipeline branch 3 times, most recently from bc3f7ef to 9a35ecb Compare November 4, 2024 10:56
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding this! A few questions off the bat

  • What is EDOT
  • Where does the APM server we are currently using fit into this?
  • Receivers, connectors, processors, exporters - these are all generic OTEL concepts that can be read about in the OTEL docs, is that right?
    • Do we provide custom Elastic versions of any of these, and if so do we have docs for those as well, especially configuration?
  • How do these components map to configurations and env variables and config overrides? (This might not be appropriate for this diagram but it's something that comes up a lot)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is EDOT

Elastic Distributions of OpenTelemetry

Where does the APM server we are currently using fit into this?

This PR removes the apm-server dependency and uses the new 8.16 OpenTelemetry native workflow (through the Otel Elasticsearch exporter). Some of the apm-server functionalities have moved to OpenTelemetry components that will be shipping with this PR's configuration.

Receivers, connectors, processors, exporters - these are all generic OTEL concepts that can be read about in the OTEL docs, is that right?

Elastic is gathering all OpenTelemetry related documentation is the elastic/opentelemetry repository, you can read more information about the components/collector in https://github.com/elastic/opentelemetry/blob/main/docs/configure-upstream-collector.md

How do these components map to configurations and env variables and config overrides? (This might not be appropriate for this diagram but it's something that comes up a lot)

That's an interesting topic, and you are right that you need to open the configuration to see their usage. At the moment, those env variables are being used to authenticate with the Elasticsearch endpoint (with the Elasticsearch exporter. I will add some reference regarding this.

Thanks!

@rogercoll rogercoll marked this pull request as ready for review November 27, 2024 13:58
.github/README.md Outdated Show resolved Hide resolved
kubernetes/elastic-helm/deployment.yaml Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants