You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
789
-
::::
790
-
791
-
792
-
Run {{agent}} as an [OpenTelemetry Collector](/reference/fleet/otel-agent.md).
793
-
787
+
Run {{agent}} as an [Elastic Distribution of OpenTelemetry Collector (EDOT Collector)](/reference/fleet/otel-agent.md).
794
788
795
789
### Synopsis [_synopsis_6]
796
790
@@ -804,7 +798,6 @@ You can also run the `./otelcol` command, which calls `./elastic-agent otel` and
804
798
::::
805
799
806
800
807
-
808
801
### Available commands [_available_commands]
809
802
810
803
`validate`
@@ -828,13 +821,13 @@ You can also run the `./otelcol` command, which calls `./elastic-agent otel` and
828
821
829
822
### Examples [_examples_15]
830
823
831
-
Run {{agent}} as on OTel Collector using the supplied `otel.yml` configuration file.
824
+
Run {{agent}} as an EDOT Collector using the supplied `otel.yml` configuration file.
832
825
833
826
```shell
834
827
./elastic-agent otel --config otel.yml
835
828
```
836
829
837
-
Change the default verbosity setting in the {{agent}} OTel configuration from `detailed` to `normal`.
830
+
Change the default verbosity setting in the {{agent}} EDOT Collector configuration from `detailed` to `normal`.
Copy file name to clipboardExpand all lines: reference/fleet/otel-agent-transform.md
+16-21Lines changed: 16 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,40 +4,35 @@ mapped_pages:
4
4
products:
5
5
- id: fleet
6
6
- id: elastic-agent
7
+
- id: edot-collector
7
8
---
8
9
9
-
# Transform an installed {{agent}} to run as an OTel Collector [otel-agent-transform]
10
+
# Transform an installed {{agent}} to run as an EDOT Collector [otel-agent-transform]
10
11
11
-
::::{warning}
12
-
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
13
-
::::
12
+
If you have a currently installed standalone {{agent}}, you can configure it to run as an [Elastic Distribution of OpenTelemetry Collector](otel-agent.md). This allows you to run {{agent}} both as a service and in an OTel Collector mode.
14
13
14
+
To configure an installed standalone {{agent}} to run as an OTel Collector, include a valid [OTel Collector](otel-agent.md) configuration in the `elastic-agent.yml` file, as shown in the following example.
15
15
16
-
If you have a currently installed standalone {{agent}}, it can be configured to run as an [OTel Collector](otel-agent.md). This allows you to run {{agent}} both as a service and in an OTel Collector mode.
16
+
## Example: Configure {{agent}}to ingest host logs and metrics into Elasticsearch using the OTel Collector [_example_configure_agent_to_ingest_host_logs_and_metrics_into_elasticsearch_using_the_otel_collector]
17
17
18
-
In order to configure an installed standalone {{agent}} to run as an OTel Collector, it’s enough to include a valid [OTel Collector](otel-agent.md) configuration in the `elastic-agent.yml` file, as shown in the following example.
18
+
### Prerequisites
19
19
20
-
## Example: configure {{agent}} to ingest host logs and metrics into Elasticsearch using the OTel Collector[_example_configure_agent_to_ingest_host_logs_and_metrics_into_elasticsearch_using_the_otel_collector]
20
+
To ingest host logs and metrics into Elasticsearch using the OTel Collector, you need the following:
21
21
22
-
**Prerequisites**
23
-
24
-
You’ll need the following:
25
-
26
-
1. A suitable [{{es}} API key](grant-access-to-elasticsearch.md#create-api-key-standalone-agent) for authenticating on Elasticsearch
27
-
2. An installed standalone {{agent}}
28
-
3. A valid OTel Collector configuration. In this example we’ll use the OTel sample configuration included in the {{agent}} repository: `otel_samples/platformlogs_hostmetrics.yml`.
22
+
1. A suitable [{{es}} API key](grant-access-to-elasticsearch.md#create-api-key-standalone-agent) for authenticating on Elasticsearch.
23
+
2. An installed standalone {{agent}}.
24
+
3. A valid OTel Collector configuration. This example uses the OTel sample configuration included in the {{agent}} repository: `otel_samples/platformlogs_hostmetrics.yml`.
To change a running standalone {{agent}} to run as an OTel Collector:
37
32
38
-
1. Create a directory where the OTel Collector can save its state. In this example we use`<Elastic Agent install directory>/data/otelcol`.
33
+
1. Create a directory where the OTel Collector can save its state. This example uses`<Elastic Agent install directory>/data/otelcol`.
39
34
2. Open the `<Elastic Agent install directory>/otel_samples/platformlogs_hostmetrics.yml` file for editing.
40
-
3. Set environment details to be used by OTel Collector:
35
+
3. Set the environment variables to be used by the OTel Collector:
41
36
42
37
***Option 1:** Define environment variables for the {{agent}} service:
43
38
@@ -51,14 +46,14 @@ To change a running standalone {{agent}} to run as an OTel Collector:
51
46
*`${env:ELASTIC_API_KEY}`: The API Key to use to authenticate with {{es}}
52
47
*`${env:STORAGE_DIR}`: The directory where the OTel Collector can persist its state
53
48
54
-
4. Save the opened OTel configuration as `elastic-agent.yml`, overwriting the default configuration of the installed agent.
49
+
4. Save the OTel configuration as `elastic-agent.yml`, overwriting the default configuration of the installed agent.
55
50
5. Run the `elastic-agent status` command to verify that the new configuration has been correctly applied:
56
51
57
52
```shell
58
53
elastic-agent status
59
54
```
60
55
61
-
The OTel Collector running configuration should appear under `elastic-agent` key (note the `extensions` and `pipeline` keys):
56
+
The OTel Collector running configuration appears under `elastic-agent` key (note the `extensions` and `pipeline` keys):
62
57
63
58
```shell
64
59
┌─ fleet
@@ -93,4 +88,4 @@ To change a running standalone {{agent}} to run as an OTel Collector:
93
88
└─ status: StatusOK
94
89
```
95
90
96
-
6. Congratulations!Host logs and metrics are now being collected and ingested by the {{agent}} service running an OTel Collector instance. For further details about OpenTelemetry collector components supported by {{agent}}, refer to the [Elastic Distribution for OpenTelemetry Collector README](https://github.com/elastic/elastic-agent/tree/main/internal/pkg/otel#components).
91
+
Host logs and metrics are now being collected and ingested by the {{agent}} service running an OTel Collector instance. For further details about OpenTelemetry Collector components supported by {{agent}}, refer to [Components](opentelemetry://reference/edot-collector/components.md).
Copy file name to clipboardExpand all lines: reference/fleet/otel-agent.md
+6-10Lines changed: 6 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,19 +4,15 @@ mapped_pages:
4
4
products:
5
5
- id: fleet
6
6
- id: elastic-agent
7
+
- id: edot-collector
7
8
---
8
9
9
-
# Run Elastic Agent as an OTel Collector [otel-agent]
10
+
# Run Elastic Agent as an EDOT Collector [otel-agent]
10
11
11
-
::::{warning}
12
-
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
13
-
::::
12
+
The [Elastic Distribution of OpenTelemetry (EDOT) Collector](opentelemetry://reference/edot-collector/index.md) is an open-source agent that can receive, process, and export telemetry data. {{agent}} includes an embedded EDOT Collector that allows you to instrument your applications and infrastructure once, and send data to multiple vendors and backends.
14
13
14
+
When you run {{agent}} in `otel` mode, it supports the standard OpenTelemetry Collector configuration format that defines a set of receivers, processors, exporters, and connectors. Logs, metrics, and traces can be collected and exported using OpenTelemetry data formats.
15
15
16
-
The [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) is a vendor-neutral way to receive, process, and export telemetry data. {{agent}} includes an embedded OTel Collector, enabling you to instrument your applications and infrastructure once, and send data to multiple vendors and backends.
16
+
For a full overview and steps to configure {{agent}} in `otel` mode, including a guided onboarding, refer to [Elastic Distributions for OpenTelemetry](opentelemetry://reference/edot-collector/index.md). You can also check the [`elastic-agent otel` command](/reference/fleet/agent-command-reference.md#elastic-agent-otel-command) in the {{fleet}} and {{agent}} Command reference.
17
17
18
-
When you run {{agent}} in `otel` mode it supports the standard OTel Collector configuration format that defines a set of receivers, processors, exporters, and connectors. Logs, metrics, and traces can be ingested using OpenTelemetry data formats.
19
-
20
-
For a full overview and steps to configure {{agent}} in `otel` mode, including a guided onboarding, refer to [Elastic Distributions for OpenTelemetry](opentelemetry://reference/index.md). You can also check the [`elastic-agent otel` command](/reference/fleet/agent-command-reference.md#elastic-agent-otel-command) in the {{fleet}} and {{agent}} Command reference.
21
-
22
-
If you have a currently running {{agent}} you can [transform it to run as an OTel Collector](/reference/fleet/otel-agent.md).
18
+
If you have a currently running {{agent}} you can [transform it to run as an OTel Collector](/reference/fleet/otel-agent-transform.md).
### Elastic Distribution of OpenTelemetry Collector (EDOT Collector)
35
35
36
-
Use the [resource processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourceprocessor) to set or apply changes to resource attributes when using the OTel Collector.
36
+
Use the [resource processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourceprocessor) to set or apply changes to resource attributes when using the EDOT Collector.
Copy file name to clipboardExpand all lines: solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -257,8 +257,8 @@ When using a layer 7 (L7) proxy like AWS ALB, requests must be proxied in a way
257
257
258
258
Many L7 load balancers handle HTTP and gRPC traffic separately and rely on explicitly defined routes and service configurations to correctly proxy requests. Since APM Server serves both protocols on the same port, it may not be compatible with some L7 load balancers. For example, to work around this issue in [Ingress NGINX Controller for Kubernetes](https://github.com/kubernetes/ingress-nginx), either:
259
259
260
-
* Use the `otlp` exporter in the OTel collector. Set annotation `nginx.ingress.kubernetes.io/backend-protocol: "GRPC"` on the K8s Ingress object proxying to APM Server.
261
-
* Use the `otlphttp` exporter in the OTel collector. Set annotation `nginx.ingress.kubernetes.io/backend-protocol: "HTTP"` (or `"HTTPS"` if APM Server expects TLS) on the K8s Ingress object proxying to APM Server.
260
+
* Use the `otlp` exporter in the EDOT collector. Set annotation `nginx.ingress.kubernetes.io/backend-protocol: "GRPC"` on the K8s Ingress object proxying to APM Server.
261
+
* Use the `otlphttp` exporter in the EDOT collector. Set annotation `nginx.ingress.kubernetes.io/backend-protocol: "HTTP"` (or `"HTTPS"` if APM Server expects TLS) on the K8s Ingress object proxying to APM Server.
262
262
263
263
The preferred approach is to deploy a L4 (TCP) load balancer (e.g. [NLB](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) on AWS) in front of APM Server, which forwards raw TCP traffic transparently without protocol inspection.
Copy file name to clipboardExpand all lines: solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ The Elastic Cloud Managed OTLP Endpoint ensures that OpenTelemetry data is store
25
25
## Prerequisites
26
26
27
27
* An {{obs-serverless}} project. To learn more, refer to [create an Observability project](/solutions/observability/get-started/create-an-observability-project.md).
28
-
* A system forwarding logs, metrics, or traces in OTLP (any OTel Collector or SDK—EDOT or community).
28
+
* A system forwarding logs, metrics, or traces in OTLP (any EDOT Collector or SDK—EDOT or community).
29
29
30
30
### Limitations
31
31
@@ -69,18 +69,18 @@ The Elastic Cloud Managed OTLP Endpoint ensures that OpenTelemetry data is store
69
69
70
70
### Send data to your Elastic Cloud Managed OTLP endpoint
71
71
72
-
* [I have an OTel Collector/SDK running](#otel-sdk-running)
73
-
* [I need an OTel Collector/SDK](#no-sdk-running)
72
+
* [I have an EDOT Collector/SDK running](#otel-sdk-running)
73
+
* [I need an EDOT Collector/SDK](#no-sdk-running)
74
74
* [I just want to use the instrumentation](#instrumentation-please)
75
75
76
-
#### I have an OTel Collector/SDK running [otel-sdk-running]
76
+
#### I have an EDOT Collector/SDK running [otel-sdk-running]
77
77
78
78
If you have an OpenTelemetry Collector or SDK exporting telemetry data,
79
79
configure it with the endpoint and API key generated in the previous steps.
80
80
81
81
**OpenTelemetry Collector configuration**
82
82
83
-
Configure your OTel Collector as follows:
83
+
Configure your EDOT Collector as follows:
84
84
85
85
```yaml
86
86
exporters:
@@ -117,7 +117,7 @@ For more information, see [OTLP Exporter configuration](https://opentelemetry.io
117
117
Configure an EDOT SDK using the same method described above in**OpenTelemetry SDK configuration**.
118
118
See the [EDOT Language SDK documentation](opentelemetry://reference/edot-sdks/index.md) for more information.
119
119
120
-
#### I need an OTel Collector/SDK [no-sdk-running]
120
+
#### I need an EDOT Collector/SDK [no-sdk-running]
121
121
122
122
Don't have a collector or SDK running? No problem. Spin up an EDOT collector in just a few steps:
You must format your API key as `"Authorization": "ApiKey <api-key-value-here>"` or `"Authorization=ApiKey <api-key>"` depending on whether you're using a collector or SDK. See [I have an OTel Collector/SDK running](#otel-sdk-running) for more information.
146
+
You must format your API key as `"Authorization": "ApiKey <api-key-value-here>"` or `"Authorization=ApiKey <api-key>"` depending on whether you're using a collector or SDK. See [I have an EDOT Collector/SDK running](#otel-sdk-running) for more information.
0 commit comments