Skip to content

Commit 83f8281

Browse files
theletterfCopilotflorent-leborgne
authored
Docs for mOTLP for ECH (#2864)
Fixes elastic/ingest-dev#5624 --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: florent-leborgne <[email protected]>
1 parent a3700ef commit 83f8281

File tree

4 files changed

+61
-89
lines changed

4 files changed

+61
-89
lines changed

solutions/_snippets/edot-reference-arch.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,32 @@
11
The following diagrams show the reference architecture for OpenTelemetry with Elastic, depending on your deployment model.
22

3-
:::::{tab-set}
4-
::::{tab-item} Serverless
3+
:::::{applies-switch}
4+
5+
::::{applies-item} serverless:
56

67
:::{image} /solutions/images/observability-apm-otel-distro-serverless.png
78
:alt: APM data ingest path (Serverless)
89
:::
910

1011
::::
1112

12-
::::{tab-item} ECH
13+
::::{applies-item} ess:
1314

14-
:::{image} /solutions/images/observability-apm-otel-distro-ech.png
15-
:alt: APM data ingest path (ECH)
16-
:::
15+
- {applies_to}`stack: preview 9.2`
16+
17+
:::{image} /solutions/images/ech-preview-motlp.png
18+
:alt: APM data ingest path (ECH)
19+
:::
20+
21+
- {applies_to}`stack: ga 9.1`
22+
23+
:::{image} /solutions/images/observability-apm-otel-distro-ech.png
24+
:alt: APM data ingest path (ECH)
25+
:::
1726

1827
::::
1928

20-
::::{tab-item} Self-managed
29+
::::{applies-item} self:
2130

2231
:::{image} /solutions/images/observability-apm-otel-distro-self-managed.png
2332
:alt: APM data ingest path (Self-managed)
127 KB
Loading

solutions/observability/apm/get-started.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ Follow these steps to send APM data to Elastic.
4040
:::{include} /solutions/_snippets/obs-serverless-project.md
4141
:::
4242

43+
:::::
44+
4345
:::::{step} Add data using EDOT or APM Agents
4446

4547
To send APM data to Elastic, you must install an Elastic Distribution of OpenTelemetry or an APM agent and configure it to send data to your project:
Lines changed: 43 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,66 @@
11
---
2-
description: Learn how to use the Elastic Cloud Managed OTLP Endpoint to send logs, metrics, and traces to Elastic Observability.
2+
description: Learn how to use the Elastic Cloud Managed OTLP Endpoint to send logs, metrics, and traces to Elastic Serverless and Elastic Cloud Hosted.
33
mapped_pages:
44
- https://www.elastic.co/guide/en/serverless/current/collect-data-with-native-otlp.html
55
applies_to:
66
serverless:
7+
deployment:
8+
ess:
9+
stack: preview 9.2
710
---
811

9-
# Quickstart: Send data to the {{motlp}}
12+
# Quickstart: Send OTLP data to Elastic Serverless or Elastic Cloud Hosted
1013

11-
The {{motlp}} is a fully managed offering exclusively for Elastic Cloud users that simplifies OpenTelemetry data ingestion. It provides an endpoint for OpenTelemetry SDKs and Collectors to send telemetry data, with Elastic handling scaling, data processing, and storage. Refer to [{{motlp}}](opentelemetry://reference/motlp.md) for more information.
14+
You can send OpenTelemetry data to Elastic Serverless and Elastic Cloud Hosted using the {{motlp}} endpoint.
1215

13-
This endpoint is designed for the following use cases:
16+
The {{motlp}} provides an endpoint for OpenTelemetry SDKs and Collectors to send telemetry data, with Elastic handling scaling, data processing, and storage. Refer to [{{motlp}}](opentelemetry://reference/motlp.md) for more information.
17+
18+
The {{motlp}} is designed for the following use cases:
1419

1520
* Logs & Infrastructure Monitoring: Logs forwarded in OTLP format and host and Kubernetes metrics in OTLP format.
1621
* APM: Application telemetry in OTLP format.
1722

18-
In this quickstart guide, you'll learn how to use the {{motlp}} to send logs, metrics, and traces to Elastic.
19-
20-
## Prerequisites
21-
22-
* An {{obs-serverless}} project. To learn more, refer to [create an Observability project](/solutions/observability/get-started.md).
23-
* A system forwarding logs, metrics, or traces in OTLP (any EDOT Collector or SDK—EDOT or community).
23+
Keep reading to learn how to use the {{motlp}} to send logs, metrics, and traces to your Serverless project or {{ech}} cluster.
2424

25-
## Get started
25+
:::{note}
26+
:applies_to: { ess:, stack: preview 9.2 }
27+
The Managed OTLP endpoint might not be available in all {{ech}} regions during the Technical Preview.
28+
:::
2629

2730
## Send data to Elastic
2831

2932
Follow these steps to send data to Elastic using the {{motlp}}.
3033

3134
::::::{stepper}
3235

33-
:::::{step} Check the requirements
34-
35-
To use the {{motlp}} you need the following:
36-
37-
* An Elastic Observability Serverless project. Security projects are not yet supported.
38-
* An OTLP-compliant shipper capable of forwarding logs, metrics, or traces in OTLP format. This can include the OpenTelemetry Collector (EDOT, Contrib, or other distributions), OpenTelemetry SDKs (EDOT, upstream, or other distributions), or any other forwarder that supports the OTLP protocol.
36+
:::::{step} Retrieve your endpoint and API key
3937

40-
:::::
41-
42-
:::::{step} Locate your {{motlp}}
43-
44-
To retrieve your {{motlp}} endpoint address and an API key, follow these steps:
38+
To retrieve your {{motlp}} endpoint address and API key, follow these steps:
4539

40+
::::{applies-switch}
41+
:::{applies-item} serverless:
4642
1. In {{ecloud}}, create an Observability project or open an existing one.
47-
2. Select your project's name and then select **Manage project**.
48-
3. Locate the **Connection alias** and select **Edit**.
49-
4. Copy the **Managed OTLP endpoint** URL.
50-
51-
% ## commented out until mOTLP on ECH is available
52-
% ### Elastic Cloud on Elasticsearch ({{ech}})
53-
% 1. Open your deployment in the Elastic Cloud console.
54-
% 2. Navigate to **Integrations** and find **OpenTelemetry** or **Managed OTLP**.
55-
% 3. Copy the endpoint URL shown.
56-
% ## Self-Managed
57-
% For self-managed environments, you can deploy and expose an OTLP-compatible endpoint using the EDOT Collector as a gateway. Refer to [EDOT deployment docs](https://www.elastic.co/docs/reference/opentelemetry/edot-collector/modes#edot-collector-as-gateway).
58-
%
59-
% :::{note}
60-
% Please reach out to support, and then Engineering can look into increasing it based on the license tier or for experimentation purposes.
61-
% :::
62-
63-
:::::
64-
65-
:::::{step} Create an API key
43+
2. Go to **Add data**, select **Applications** and then select **OpenTelemetry**.
44+
3. Copy the endpoint and authentication headers values.
6645

67-
Generate an API key with appropriate ingest privileges to authenticate OTLP traffic:
68-
69-
1. In {{ecloud}}, go to **Manage project****API Keys**.
70-
2. Select **Create API Key**.
71-
3. Name the key. For example, `otlp-client`.
72-
4. Edit the optional security settings.
73-
5. Select **Create API Key**.
74-
6. Copy the key to the clipboard.
75-
76-
Add this key to your final API key string. For example:
46+
Alternatively, you can retrieve the endpoint from the **Manage project** page and create an API key manually from the **API keys** page.
47+
:::
7748

78-
```
79-
Authorization: ApiKey <your-api-key>
80-
```
49+
:::{applies-item} ess:
50+
{applies_to}`stack: preview 9.2`
51+
1. In {{ecloud}}, create an {{ech}} deployment or open an existing one.
52+
2. Go to **Add data**, select **Applications** and then select **OpenTelemetry**.
53+
3. Copy the endpoint and authentication headers values.
8154

82-
:::{important}
83-
The API key copied from Kibana does not include the `ApiKey` scheme. Always prepend `ApiKey ` before using it in your configuration or encoding it for Kubernetes secrets. For example:
84-
85-
- Correct: `Authorization: ApiKey abc123`
86-
- Incorrect: `Authorization: abc123`
55+
Alternatively, you can retrieve the endpoint from the **Manage project** page and create an API key manually from the **API keys** page.
8756
:::
57+
::::
8858

8959
:::::
9060

91-
:::::{step} Send data to the {{motlp}}
61+
:::::{step} Configure your OTLP shipper
9262

93-
The final step is to use the {{motlp}} endpoint and your Elastic API key to send data to {{ecloud}}.
63+
The final step is to configure your Collector or SDK to use the {{motlp}} endpoint and your Elastic API key to send data to {{ecloud}}.
9464

9565
::::{tab-set}
9666

@@ -100,27 +70,21 @@ To send data to the {{motlp}} from the {{edot}} Collector or the contrib Collect
10070
```yaml
10171
exporters:
10272
otlp:
103-
endpoint: https://<motlp-endpoint> <1>
73+
endpoint: https://<motlp-endpoint>
10474
headers:
105-
Authorization: ApiKey <your-api-key> <2>
75+
Authorization: ApiKey <your-api-key>
10676
```
10777
108-
1. The endpoint retrieved at [step 2](#locate-your-motlp)
109-
2. The API key created at [step 3](#create-an-api-key)
110-
11178
Set the API key as an environment variable or directly in the configuration as shown in the example.
11279
:::
11380
11481
:::{tab-item} OpenTelemetry SDK example
11582
To send data to the {{motlp}} from {{edot}} SDKs or contrib SDKs, set the following variables in your application's environment:
11683
11784
```bash
118-
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<motlp-endpoint>" <1>
119-
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=ApiKey <your-api-key>" <2>
85+
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<motlp-endpoint>"
86+
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=ApiKey <your-api-key>"
12087
```
121-
122-
1. The endpoint retrieved at [step 2](#locate-your-motlp)
123-
2. The API key created at [step 3](#create-an-api-key)
12488
:::
12589

12690
:::{tab-item} Kubernetes example
@@ -141,14 +105,11 @@ Mount the secret as an environment variable or file, then reference it in your O
141105
```yaml
142106
exporters:
143107
otlp:
144-
endpoint: https://<motlp-endpoint> <1>
108+
endpoint: https://<motlp-endpoint>
145109
headers:
146-
Authorization: ${API_KEY} <2>
110+
Authorization: ${API_KEY}
147111
```
148112
149-
1. The endpoint retrieved at [step 2](#locate-your-motlp)
150-
2. The API key created at [step 3](#create-an-api-key)
151-
152113
And in your deployment spec:
153114
154115
```yaml
@@ -173,15 +134,15 @@ When creating a Kubernetes secret, always encode the full string in Base64, incl
173134

174135
## Differences from the Elastic APM Endpoint
175136

176-
The Elastic Cloud Managed OTLP Endpoint ensures that OpenTelemetry data is stored without any schema translation, preserving both OpenTelemetry semantic conventions and resource attributes. It supports ingesting OTLP logs, metrics, and traces in a unified manner, ensuring consistent treatment across all telemetry data. This marks a significant improvement over the [existing functionality](/solutions/observability/apm/opentelemetry/index.md), which primarily focuses on traces and the APM use case.
137+
The Elastic Cloud Managed OTLP Endpoint ensures that OpenTelemetry data is stored without any schema translation, preserving both OpenTelemetry semantic conventions and resource attributes. It supports ingesting OTLP logs, metrics, and traces in a unified manner, ensuring consistent treatment across all telemetry data.
177138

178-
## Troubleshoot
139+
## Troubleshooting
179140

180141
The following sections provide troubleshooting information for the {{motlp}}.
181142

182-
### I don't have a Collector or SDK running
143+
### You don't have a Collector or SDK running
183144

184-
Don't have a collector or SDK running? Spin up an EDOT collector in just a few steps:
145+
Don't have a collector or SDK running? Spin up an EDOT collector in few steps:
185146

186147
* [Kubernetes Quickstart](/solutions/observability/get-started/opentelemetry/quickstart/serverless/k8s.md)
187148
* [Hosts & VMs Quickstart](/solutions/observability/get-started/opentelemetry/quickstart/serverless/hosts_vms.md)
@@ -201,14 +162,14 @@ You must format your API key as `"Authorization": "ApiKey <api-key-value-here>"`
201162
202163
### Error: too many requests
203164
204-
The Managed OTLP endpoint has per-project rate limits in place. If you hit this limit, reach out to our [support team](https://support.elastic.co). Refer to [Rate limiting](opentelemetry://reference/motlp.md#rate-limiting) for more information.
165+
The Managed OTLP endpoint has per-project rate limits in place. If you reach this limit, reach out to our [support team](https://support.elastic.co). Refer to [Rate limiting](opentelemetry://reference/motlp.md#rate-limiting) for more information.
205166
206167
## Provide feedback
207168
208169
Help improve the Elastic Cloud Managed OTLP Endpoint by sending us feedback in our [discussion forum](https://discuss.elastic.co/c/apm) or [community Slack](https://elasticstack.slack.com/signup#/domain-signup).
209170
210171
For EDOT collector feedback, open an issue in the [elastic-agent repository](https://github.com/elastic/elastic-agent/issues).
211172
212-
## What's next?
173+
## What's next
213174
214175
Visualize your OpenTelemetry data. Learn more in [](/solutions/observability/otlp-visualize.md).

0 commit comments

Comments
 (0)