Skip to content

Commit 457819f

Browse files
committed
Merge remote-tracking branch 'felixbarny/otlp' into otlp
2 parents d4c1b25 + f3d50e9 commit 457819f

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

manage-data/data-store/data-streams/tsds-ingest-otlp.md

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,35 @@
22
navigation_title: "OTLP/HTTP endpoint"
33
applies_to:
44
stack: preview 9.2
5+
deployment:
6+
self:
57
products:
68
- id: elasticsearch
79
---
810

911
# OTLP/HTTP endpoint
1012

1113
:::{important}
12-
Usually, you'll want to send data to an OpenTelemetry Collector or the [{{motlp}}](opentelemetry:/reference/motlp.md),
13-
rather than directly going to the {{es}} OTLP endpoint.
14-
See [Best practices](#best-practices) for more details.
14+
The recommended way to send OTLP data for most use cases is through an OpenTelemetry Collector in [Gateway mode](elastic-agent://reference/edot-collector/config/default-config-standalone.md#gateway-mode) or, if you're on {{ecloud}}, directly to the [{{motlp}}](opentelemetry:/reference/motlp.md). Refer to [Best practices](#best-practices) for more details.
1515
:::
1616

1717
In addition to the ingestion of metrics data through the bulk API,
18-
{{es}} offers an alternative way to ingest data via the [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp).
18+
{{es}} offers an alternative way to ingest data through the [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp).
1919

2020
The endpoint is available under `/_otlp/v1/metrics`.
2121

22-
:::{note}
23-
{{es}} only supports [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp),
24-
not [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc).
25-
:::
26-
2722
Ingesting metrics data using the OTLP endpoint has the following advantages:
2823

2924
* Improved ingestion performance, especially if the data contains many resource attributes.
3025
* Simplified index mapping:
3126
there's no need to manually create data streams, index templates, or define dimensions and metrics.
3227
Metrics are dynamically mapped using the metadata included in the OTLP requests.
3328

29+
:::{note}
30+
{{es}} only supports [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp),
31+
not [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc).
32+
:::
33+
3434
## How to send data to the OTLP endpoint
3535

3636
To send data from an OpenTelemetry Collector to the {{es}} OTLP endpoint,
@@ -64,19 +64,23 @@ service:
6464
exporters: [otlphttp/elasticsearch-metrics]
6565
receivers: ...
6666
```
67-
:::{note}
68-
Only `encoding: proto` is supported, which the `OTLP/HTTP` exporter uses by default.
69-
:::
67+
7068
The supported options for `compression` are `gzip` (default value of the `OTLP/HTTP` exporter) and `none`.
7169

7270
% TODO we might actually also support snappy and zstd, test and update accordingly)
7371

7472
To track metrics in your custom application,
7573
use the [OpenTelemetry language SDK](https://opentelemetry.io/docs/getting-started/dev/) of your choice.
7674

75+
:::{note}
76+
Only `encoding: proto` is supported, which the `OTLP/HTTP` exporter uses by default.
77+
:::
78+
7779
## Best practices
7880

79-
Do not send metrics from applications directly to the {{es}} OTLP endpoint, especially if there are many individual applications that periodically send a small amount of metrics. Instead, send data to an OpenTelemetry Collector first. This helps with handling many connections, and with creating bigger batches to improve ingestion performance. On {{ecloud}}, use the [{{motlp}}](opentelemetry:/reference/motlp.md) and for self-managed use cases, you can use the [Elastic Distribution of OpenTelemetry Collector](elastic-agent:/reference/edot-collector/index.md).
81+
Don't send metrics from applications directly to the {{es}} OTLP endpoint, especially if there are many individual applications that periodically send a small amount of metrics. Instead, send data to an OpenTelemetry Collector first. This helps with handling many connections, and with creating bigger batches to improve ingestion performance.
82+
83+
On {{ecloud}}, use the [{{motlp}}](opentelemetry:/reference/motlp.md) and for self-managed use cases, you can use the [Elastic Distribution of OpenTelemetry Collector](elastic-agent:/reference/edot-collector/index.md).
8084

8185
For more details on the recommended way to set up OpenTelemetry-based data ingestion, refer to the [EDOT reference architecture](opentelemetry:/reference/architecture/index.md).
8286

0 commit comments

Comments
 (0)