diff --git a/solutions/observability/apm/opentelemetry-intake-api.md b/solutions/observability/apm/opentelemetry-intake-api.md index b5cbb5ca9c..a5a39232f7 100644 --- a/solutions/observability/apm/opentelemetry-intake-api.md +++ b/solutions/observability/apm/opentelemetry-intake-api.md @@ -17,6 +17,10 @@ APM Server supports two OTLP communication protocols on the same port: * OTLP/HTTP (protobuf) * OTLP/gRPC +:::{important} +EDOT SDKs are tested and supported only with [EDOT Collector Gateway](elastic-agent://reference/edot-collector/modes.md#edot-collector-as-gateway) or [Managed OTel intake](opentelemetry://reference/motlp.md). Using EDOT SDKs directly with {{apm-server}}'s OTel intake is not supported. +::: + ## OTLP/gRPC paths [_otlpgrpc_paths] | Name | Endpoint | diff --git a/solutions/observability/apm/opentelemetry/limitations.md b/solutions/observability/apm/opentelemetry/limitations.md index 9a777d1445..b3af091afc 100644 --- a/solutions/observability/apm/opentelemetry/limitations.md +++ b/solutions/observability/apm/opentelemetry/limitations.md @@ -33,6 +33,10 @@ Logs ingest through the [EDOT Collector](elastic-agent://reference/edot-collecto Elastic supports both the [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc) and [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp) protocol with ProtoBuf payload. Elastic does not yet support JSON Encoding for OTLP/HTTP. +## EDOT SDKs with APM Server OTel intake [apm-open-telemetry-edot-sdk-limitations] + +EDOT SDKs are tested and supported only with [EDOT Collector Gateway](elastic-agent://reference/edot-collector/modes.md#edot-collector-as-gateway) or [Managed OTel intake](opentelemetry://reference/motlp.md). Using EDOT SDKs directly with {{apm-server}}'s OTel intake is not supported. + ## OpenTelemetry Collector exporter for Elastic [apm-open-telemetry-collector-exporter] The [OpenTelemetry Collector exporter for Elastic](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.57.2/exporter/elasticexporter) has been deprecated and replaced by the native support of the OpenTelemetry Line Protocol in Elastic Observability (OTLP). diff --git a/solutions/observability/get-started/quickstart-monitor-your-application-performance.md b/solutions/observability/get-started/quickstart-monitor-your-application-performance.md index 821137eafc..fe4688d04d 100644 --- a/solutions/observability/get-started/quickstart-monitor-your-application-performance.md +++ b/solutions/observability/get-started/quickstart-monitor-your-application-performance.md @@ -17,21 +17,21 @@ In this quickstart guide, you’ll learn how to instrument your application usin ::::{tab-set} :group: stack-serverless -:::{tab-item} Elastic Stack +:::{tab-item} {{stack}} :sync: stack * An {{es}} cluster for storing and searching your data, and {{kib}} for visualizing and managing your data. This quickstart is available for all Elastic deployment models. The quickest way to get started with this quickstart is using a trial project on [Elastic serverless](/solutions/observability/get-started.md). * A user with the **Admin** role or higher—required to onboard system logs and metrics. To learn more, refer to [User roles and privileges](/deploy-manage/users-roles/cloud-organization/user-roles.md). -* An Elastic Distribution of OpenTelemetry (EDOT) Collector or the contrib OpenTelemetry Collector running on the host. +* An {{edot}} (EDOT) Collector or the contrib OpenTelemetry Collector running on the host. ::: -:::{tab-item} Serverless +:::{tab-item} {{serverless-short}} :sync: serverless * An {{observability}} project. To learn more, refer to [Create an Observability project](/solutions/observability/get-started.md). * A user with the **Admin** role or higher—required to onboard system logs and metrics. To learn more, refer to [Assign user roles and privileges](/deploy-manage/users-roles/cloud-organization/user-roles.md#general-assign-user-roles). -* An Elastic Distribution of OpenTelemetry (EDOT) Collector or the contrib OpenTelemetry Collector running on the host. +* An {{edot}} (EDOT) Collector or the contrib OpenTelemetry Collector running on the host. ::: :::: @@ -66,7 +66,7 @@ Follow these steps to collect application telemetry data using the EDOT SDKs: 4. Configure your EDOT SDK to send data to the APM endpoint. The **OpenTelemetry** tab provides the required configuration values. :::{note} -If your application runs on Kubernetes, the OpenTelemetry operator automatically instruments your application, provided you've added language-specific annotations. Refer to [Auto-instrument applications](/solutions/observability/get-started/opentelemetry/quickstart/self-managed/k8s.md). +If your application runs on {{k8s}}, the OpenTelemetry operator automatically instruments your application, provided you've added language-specific annotations. Refer to [Auto-instrument applications](/solutions/observability/get-started/opentelemetry/quickstart/self-managed/k8s.md). ::: :::: @@ -86,6 +86,7 @@ If your application runs on Kubernetes, the OpenTelemetry operator automatically - [PHP](elastic-otel-php://reference/edot-php/setup/index.md) - [Python](elastic-otel-python://reference/edot-python/setup/index.md) 4. Configure your EDOT SDK to send data to the [Managed OTLP endpoint](opentelemetry://reference/motlp.md). The **OpenTelemetry** tab provides the required configuration values. + 5. (Optional) Activate Central Configuration to configure your EDOT SDKs from within {{product.kibana}}. Refer to [EDOT SDKs Central Configuration](opentelemetry://reference/central-configuration.md). :::{note} diff --git a/solutions/observability/get-started/quickstart-unified-kubernetes-observability-with-elastic-distributions-of-opentelemetry-edot.md b/solutions/observability/get-started/quickstart-unified-kubernetes-observability-with-elastic-distributions-of-opentelemetry-edot.md index 188692f9e6..82ed396d50 100644 --- a/solutions/observability/get-started/quickstart-unified-kubernetes-observability-with-elastic-distributions-of-opentelemetry-edot.md +++ b/solutions/observability/get-started/quickstart-unified-kubernetes-observability-with-elastic-distributions-of-opentelemetry-edot.md @@ -13,7 +13,7 @@ products: # Quickstart: Unified Kubernetes Observability with Elastic Distributions of OpenTelemetry (EDOT) [monitor-k8s-otel-edot] -In this quickstart guide, you’ll learn how to send Kubernetes logs, metrics, and application traces to Elasticsearch, using the [OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator/) to orchestrate [Elastic Distributions of OpenTelemetry](opentelemetry://reference/index.md) (EDOT) Collectors and SDK instances. +In this quickstart guide, you’ll learn how to send {{k8s}} logs, metrics, and application traces to {{es}}, using the [OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator/) to orchestrate [Elastic Distributions of OpenTelemetry](opentelemetry://reference/index.md) (EDOT) Collectors and SDK instances. All the components will be deployed through the [opentelemetry-kube-stack](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-kube-stack) helm chart. They include: @@ -33,24 +33,23 @@ For a more detailed description of the components and advanced configuration, re :sync: stack * An {{es}} cluster for storing and searching your data, and {{kib}} for visualizing and managing your data. This quickstart is available for all Elastic deployment models. To get started quickly, try out [{{ecloud}}](https://cloud.elastic.co/registration?page=docs&placement=docs-body). -* A running Kubernetes cluster (v1.23 or newer). +* A running {{k8s}} cluster (v1.23 or later). * [Kubectl](https://kubernetes.io/docs/reference/kubectl/). * [Helm](https://helm.sh/docs/intro/install/). * (optional) [Cert-manager](https://cert-manager.io/docs/installation/), if you opt for automatic generation and renewal of TLS certificates. ::: -:::{tab-item} Serverless +:::{tab-item} {{serverless-short}} :sync: serverless * An {{obs-serverless}} project. To learn more, refer to [Create an Observability project](/solutions/observability/get-started.md). -* A running Kubernetes cluster (v1.23 or newer). +* A running {{k8s}} cluster (v1.23 or later). * [Kubectl](https://kubernetes.io/docs/reference/kubectl/). * [Helm](https://helm.sh/docs/intro/install/). * (optional) [Cert-manager](https://cert-manager.io/docs/installation/), if you opt for automatic generation and renewal of TLS certificates. ::: - :::: ## Collect your data [_collect_your_data_2] @@ -87,7 +86,7 @@ For a more detailed description of the components and advanced configuration, re ::: -:::{tab-item} Serverless +:::{tab-item} {{serverless-short}} :sync: serverless 1. [Create a new {{obs-serverless}} project](/solutions/observability/get-started.md), or open an existing one. @@ -115,7 +114,6 @@ For a more detailed description of the components and advanced configuration, re * Install the `opentelemetry-kube-stack` helm chart with the provided `values.yaml`. * Optionally, for instrumenting applications, apply the corresponding `annotations` as shown in {{kib}}. - ::: :::: diff --git a/troubleshoot/ingest/opentelemetry/connectivity.md b/troubleshoot/ingest/opentelemetry/connectivity.md index c548743fe6..25c4fe54c9 100644 --- a/troubleshoot/ingest/opentelemetry/connectivity.md +++ b/troubleshoot/ingest/opentelemetry/connectivity.md @@ -15,7 +15,6 @@ products: Connectivity problems occur when the EDOT SDKs or the EDOT Collector can't reach Elastic. Even with correct proxy settings, network restrictions such as blocked ports or firewalls can prevent data from flowing. - ## Symptoms You might see one or more of the following error messages: diff --git a/troubleshoot/ingest/opentelemetry/edot-sdks/index.md b/troubleshoot/ingest/opentelemetry/edot-sdks/index.md index 647a383ec1..fac3b32b9c 100644 --- a/troubleshoot/ingest/opentelemetry/edot-sdks/index.md +++ b/troubleshoot/ingest/opentelemetry/edot-sdks/index.md @@ -41,6 +41,10 @@ These guides apply to all EDOT SDKs: * [Missing or incomplete traces due to SDK sampling](/troubleshoot/ingest/opentelemetry/edot-sdks/misconfigured-sampling-sdk.md): Troubleshoot missing or incomplete traces caused by SDK-level sampling configuration. +## Supported architectures + +EDOT SDKs are tested and supported only with [EDOT Collector Gateway](elastic-agent://reference/edot-collector/modes.md#edot-collector-as-gateway) or [Managed OTel intake](opentelemetry://reference/motlp.md). Using EDOT SDKs directly with {{apm-server}}'s OTel intake is not supported. + ## See also * [EDOT Collector troubleshooting](/troubleshoot/ingest/opentelemetry/edot-collector/index.md): For end-to-end issues that may involve both the Collector and SDKs. diff --git a/troubleshoot/ingest/opentelemetry/edot-sdks/ios/index.md b/troubleshoot/ingest/opentelemetry/edot-sdks/ios/index.md index 1231a5e80e..eb3ba3eea9 100644 --- a/troubleshoot/ingest/opentelemetry/edot-sdks/ios/index.md +++ b/troubleshoot/ingest/opentelemetry/edot-sdks/ios/index.md @@ -19,7 +19,7 @@ products: This page provides guidance for resolving common problems when instrumenting iOS applications with the {{edot}} (EDOT) SDK. -When troubleshooting the EDOT iOS agent, ensure your app is compatible with the agent’s [supported technologies](apm-agent-ios://reference/edot-ios/supported-technologies.md). +When troubleshooting the EDOT iOS agent, ensure your app is compatible with the agent's [supported technologies](apm-agent-ios://reference/edot-ios/supported-technologies.md). ## SDK fails to export data diff --git a/troubleshoot/ingest/opentelemetry/index.md b/troubleshoot/ingest/opentelemetry/index.md index 2fba51a7cb..e5e21ad590 100644 --- a/troubleshoot/ingest/opentelemetry/index.md +++ b/troubleshoot/ingest/opentelemetry/index.md @@ -33,6 +33,10 @@ These guides apply to both the Collector and SDKs: * [Contact support](/troubleshoot/ingest/opentelemetry/contact-support.md): Learn how to contact Elastic Support and what information to include to help resolve issues faster. +## Supported architectures + +EDOT SDKs are tested and supported only with [EDOT Collector Gateway](elastic-agent://reference/edot-collector/modes.md#edot-collector-as-gateway) or [Managed OTel intake](opentelemetry://reference/motlp.md). Using EDOT SDKs directly with {{apm-server}}'s OTel intake is not supported. + ## Additional resources * [Troubleshoot ingestion tools](/troubleshoot/ingest.md): Overview of troubleshooting for all ingestion tools, including EDOT, Logstash, Fleet, and Beats. diff --git a/troubleshoot/ingest/opentelemetry/no-data-in-kibana.md b/troubleshoot/ingest/opentelemetry/no-data-in-kibana.md index 75bab1803e..30d6713f05 100644 --- a/troubleshoot/ingest/opentelemetry/no-data-in-kibana.md +++ b/troubleshoot/ingest/opentelemetry/no-data-in-kibana.md @@ -17,6 +17,10 @@ products: If the EDOT Collector or SDKs appear to be running, but you see no logs, metrics, or traces in the {{kib}} UI, try to use these solutions to identify and resolve the issue. +:::{tip} +If you're sending EDOT SDK telemetry directly to {{apm-server}}'s OTel intake, keep in mind that this flow is not supported. Send data to an [EDOT Collector Gateway](elastic-agent://reference/edot-collector/modes.md#edot-collector-as-gateway) or [Managed OTel intake](opentelemetry://reference/motlp.md) instead. +::: + ## Symptoms * Collector process is consuming CPU/memory but no telemetry data is visible in {{kib}}