Skip to content

Commit 4c7b343

Browse files
okilkeralolita
andauthored
DOCS-8647 Update AppD attributes and YAML file example (#143)
* Per Pavan, Updated code sample, added AppD account, and for custom attributes link * Combined resourc attributes, linked from AWS to AppD Docs Co-authored-by: Alolita Sharma <[email protected]>
1 parent e29898e commit 4c7b343

File tree

1 file changed

+64
-44
lines changed

1 file changed

+64
-44
lines changed

src/docs/components/otlp-exporter.mdx

Lines changed: 64 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
11
---
22
title: 'Getting Started with the OTLP Exporters'
33
description:
4-
An exporter is a component in the OpenTelemetry Collector configured to send data to different systems/back-ends. Different
5-
exporters converts OpenTelemetry protocol (OTLP) formatted data to their respective predefined back-end format and exports
4+
An exporter is a component in the OpenTelemetry Collector configured to send data to different systems/back-ends. Different
5+
exporters converts OpenTelemetry protocol (OTLP) formatted data to their respective predefined back-end format and exports
66
this data to be interpreted by the back-end or system.
77
path: '/docs/components/otlp-exporter'
88
---
99

1010
import SectionSeparator from "components/MdxSectionSeparator/sectionSeparator.jsx"
1111
import SubSectionSeparator from "components/MdxSubSectionSeparator/subsectionSeparator.jsx"
1212

13-
An exporter is a component in the OpenTelemetry [Collector](https://github.com/open-telemetry/opentelemetry-collector) configured
14-
to send data to different systems/back-ends. Different exporters converts
15-
[OpenTelemetry protocol (OTLP)](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/protocol/otlp.md)
13+
An exporter is a component in the OpenTelemetry [Collector](https://github.com/open-telemetry/opentelemetry-collector) configured
14+
to send data to different systems/back-ends. Different exporters converts
15+
[OpenTelemetry protocol (OTLP)](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/protocol/otlp.md)
1616
formatted data to their respective predefined back-end format and exports this data to be interpreted by the back-end or system.
1717

1818
<SectionSeparator />
1919

2020
## OTLP Protocol
2121

22-
The [OpenTelemetry Protocol](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/protocol/otlp.md)
23-
(OTLP) defines the encoding, transport, and delivery mechanism of telemetry data between telemetry sources, intermediate processes such
24-
as collectors and telemetry backends. OTLP is a protocol based on requests and responses, for example the client sends requests and the
25-
server corresponds with responses. OTLP is currently implemented over two types of transport systems, gRPC and HTTP, specifying the
26-
[Protocol Buffers schema](https://developers.google.com/protocol-buffers/docs/overview) (protobuf) used for the payloads. The protobuf
22+
The [OpenTelemetry Protocol](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/protocol/otlp.md)
23+
(OTLP) defines the encoding, transport, and delivery mechanism of telemetry data between telemetry sources, intermediate processes such
24+
as collectors and telemetry backends. OTLP is a protocol based on requests and responses, for example the client sends requests and the
25+
server corresponds with responses. OTLP is currently implemented over two types of transport systems, gRPC and HTTP, specifying the
26+
[Protocol Buffers schema](https://developers.google.com/protocol-buffers/docs/overview) (protobuf) used for the payloads. The protobuf
2727
schema of the messages is the same for OTLP/HTTP and OTLP/gRPC.
2828

2929
<SubSectionSeparator />
3030

3131
### OTLP/HTTP
3232

33-
The OTLP implementation transport system over HTTP uses protobuf payloads either in binary format or JSON. OTLP/HTTP uses HTTP POST
34-
requests to send telemetry data from clients to servers. Implementations may use HTTP/1.1 or HTTP/2 transports, if an HTTP/2 connection
33+
The OTLP implementation transport system over HTTP uses protobuf payloads either in binary format or JSON. OTLP/HTTP uses HTTP POST
34+
requests to send telemetry data from clients to servers. Implementations may use HTTP/1.1 or HTTP/2 transports, if an HTTP/2 connection
3535
cannot be established it should fallback to HTTP/1.1 transport.
3636

3737
<SubSectionSeparator />
3838

3939
### OTLP/gRPC
4040

41-
OTLP/gRPC sends telemetry data with unary requests in `ExportTraceServiceRequest` for traces, `ExportMetricsServiceRequest` for metrics,
42-
`ExportLogsServiceRequest` for logs. The language independent interface types for these mentioned pipeline data can be found
43-
[here](https://github.com/open-telemetry/opentelemetry-proto). The client will continuously send sequences of requests to the server
44-
and expects to receive a response with each request. You can learn more about the OTLP protocol
41+
OTLP/gRPC sends telemetry data with unary requests in `ExportTraceServiceRequest` for traces, `ExportMetricsServiceRequest` for metrics,
42+
`ExportLogsServiceRequest` for logs. The language independent interface types for these mentioned pipeline data can be found
43+
[here](https://github.com/open-telemetry/opentelemetry-proto). The client will continuously send sequences of requests to the server
44+
and expects to receive a response with each request. You can learn more about the OTLP protocol
4545
[here](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/protocol/otlp.md).
4646

4747
<SectionSeparator />
4848

49-
## Setting up A Monitoring Backend
49+
## Setting up A Monitoring Backend
5050

51-
OpenTelemetry can export traces, logs, and metrics to various backends to analyze in order to understand an application’s performance
52-
and behavior. There are multiple monitoring backends (also known as end-points) which can support OpenTelemetry using the OTLP protocol.
51+
OpenTelemetry can export traces, logs, and metrics to various backends to analyze in order to understand an application’s performance
52+
and behavior. There are multiple monitoring backends (also known as end-points) which can support OpenTelemetry using the OTLP protocol.
5353

5454
In this section, we share getting started configurations to the Collector to export telemetry data to **AppDynamics, Honeycomb, Lightstep, and SumoLogic** end-points.
5555

@@ -72,25 +72,25 @@ AppDynamics without the need for additional plugins or non-OTLP exporters.
7272

7373
Before you can use the AWS Distro for OpenTelemetry with the AppDynamics endpoint, you need:
7474

75-
You need AppDynamics SaaS Controller= v21.2.0.
76-
You need to be admitted to the AppDynamics OpenTelemetry private beta program.
75+
* You need AppDynamics SaaS Controller >= v21.2.0.
76+
* You need to be admitted to the AppDynamics OpenTelemetry private beta program.
7777

7878
<SubSectionSeparator />
7979

8080
### Configuration (Collector)
8181

82-
The configuration will take place in the OTLP exporter in the Collector config YAML file.
82+
The configuration takes place in the OTLP exporter in the Collector config YAML file.
8383

84-
* Set the OTLP endpoint through the [OTLP HTTP Exporter](https://github.com/open-telemetry/opentelemetry-collector/tree/master/exporter/otlphttpexporter). To configure your AppDynamics Controller to work with the AWS OTel Collector, edit your `otel-config.yml` configuration file.
84+
* Set the OTLP endpoint through the [OTLP HTTP Exporter](https://github.com/open-telemetry/opentelemetry-collector/tree/master/exporter/otlphttpexporter). To configure your AppDynamics Controller to work with the AWS OTel Collector, edit your `otel-config.yml` configuration file.
8585
* Set the AppDynamics API key `<x-api-key>` (Your AppDynamics API key must be defined as an HTTP header. To obtain your unique x-api-key, you should work closely with your AppDynamics account team.)
86-
* Set the Controller details. Use the [resource processor](https://github.com/open-telemetry/opentelemetry-collector/tree/master/processor/resourceprocessor) to add the AppDynamics Controller host, and port name.
86+
* Use resource attributes to add your AppDynamics account information:
87+
* `appdynamics.controller.account`: Your AppDynamics Controller account name.
8788
* `appdynamics.controller.host`: your AppDynamics Controller host name.
8889
* `appdynamics.controller.port`: your AppDynamics Controller port number.
89-
* Set the trace resource attributes to map the services to AppDynamics tiers and applications respectively.
9090
* `service.name` your AppDynamics tier name. trace resource attribute for every service being monitored.
9191
* `service.namespace`: your AppDynamics application name. Set corresponding `service.namespace` trace resource attribute for every service being monitored.
9292

93-
See [Ingest OpenTelemetry Trace Data](https://docs.appdynamics.com/display/PRO21/Ingest+OpenTelemetry+Trace+Data)
93+
For custom attributes, see [Ingest OpenTelemetry Trace Data](https://docs.appdynamics.com/display/PRO21/Ingest+OpenTelemetry+Trace+Data)
9494

9595
<SubSectionSeparator />
9696

@@ -100,19 +100,42 @@ See [Ingest OpenTelemetry Trace Data](https://docs.appdynamics.com/display/PRO21
100100
processors:
101101
resource:
102102
attributes:
103-
- key: appdynamics.controller.host
104-
action: upsert
105-
value: "acme.saas.appdynamics.com"
106-
- key: appdynamics.controller.port
107-
action: upsert
108-
value: 443
103+
- key: appdynamics.controller.account
104+
action: upsert
105+
value: "acme"
106+
- key: appdynamics.controller.host
107+
action: upsert
108+
value: "acme.saas.appdynamics.com"
109+
- key: appdynamics.controller.port
110+
action: upsert
111+
value: 443
112+
batch:
113+
timeout: 30s
114+
send_batch_size: 8192
115+
receivers:
116+
otlp:
117+
protocols:
118+
grpc:
119+
endpoint: localhost:55680
120+
http:
121+
endpoint: localhost:55681
122+
exporters:
123+
otlphttp:
124+
endpoint: "https://pdx-sls-agent-api.saas.appdynamics.com"
125+
headers: {"x-api-key": "****************"}
126+
service:
127+
pipelines:
128+
traces:
129+
receivers: [otlp]
130+
processors: [resource, batch]
131+
exporters: [otlphttp]
109132
```
110133

111134
<SubSectionSeparator />
112135

113136
## Honeycomb
114137

115-
Honeycomb supports OpenTelemetry by ingesting OTLP directly, so users of the AWS Distro for OpenTelemetry (ADOT) can send tracing data directly to
138+
Honeycomb supports OpenTelemetry by ingesting OTLP directly, so users of the AWS Distro for OpenTelemetry (ADOT) can send tracing data directly to
116139
Honeycomb without the need for additional plugins or non-OTLP exporters.
117140

118141
<SubSectionSeparator />
@@ -135,7 +158,7 @@ The configuration will take place in the OTLP exporter in the Collector config Y
135158

136159
<SubSectionSeparator />
137160

138-
### Example
161+
### Example
139162

140163
```yaml lineNumbers=true highlight={7,9}
141164
# Honeycomb Collector configuration
@@ -153,14 +176,14 @@ exporters:
153176
154177
### Support
155178
156-
If you have any trouble using the AWS Distro for OpenTelemetry with Honeycomb, you can reach out to the ADOT support team
157-
or directly to the [Honeycomb support page](https://www.honeycomb.io/support/).
179+
If you have any trouble using the AWS Distro for OpenTelemetry with Honeycomb, you can reach out to the ADOT support team
180+
or directly to the [Honeycomb support page](https://www.honeycomb.io/support/).
158181
159182
<SectionSeparator />
160183
161184
## Lightstep
162185
163-
Lightstep supports OpenTelemetry natively, via OTLP. If you’re already set up with AWS Distro for OpenTelemetry, then
186+
Lightstep supports OpenTelemetry natively, via OTLP. If you’re already set up with AWS Distro for OpenTelemetry, then
164187
getting data into Lightstep only requires an edit to the YAML config file for the Collector to get started.
165188
166189
<SubSectionSeparator />
@@ -187,7 +210,7 @@ The configuration will take place in the OTLP exporter in the Collector config Y
187210
188211
<SubSectionSeparator />
189212
190-
### Example
213+
### Example
191214
192215
```yaml lineNumbers=true highlight={8}
193216
# Lightstep Collector configuration
@@ -241,7 +264,7 @@ service:
241264
## Sumo Logic
242265
243266
Sumo Logic supports telemetry signals from OpenTelemetry natively via OTLP. If you’re already set up with AWS Distro for
244-
OpenTelemetry, then exporting data into a SumoLogic backend is as simple as editing your YAML config file for the Collector
267+
OpenTelemetry, then exporting data into a SumoLogic backend is as simple as editing your YAML config file for the Collector
245268
and getting started.
246269
247270
<SubSectionSeparator />
@@ -270,7 +293,7 @@ exporters:
270293
endpoint: https://YOUR_SUMOLOGIC_HTTP_TRACES_ENDPOINT_URL
271294
```
272295
273-
If you are instrumenting your application using OpenTelemetry JavaScript, Java, Python, Go, Ruby, .NET you can use the SumoLogic
296+
If you are instrumenting your application using OpenTelemetry JavaScript, Java, Python, Go, Ruby, .NET you can use the SumoLogic
274297
[documentation](https://help.sumologic.com/Traces/Getting_Started_with_Transaction_Tracing/Instrument_your_application_with_OpenTelemetry)
275298
to set up your application and obtain telemetry data.
276299
@@ -285,8 +308,5 @@ or directly to the [Sumo Logic support page](https://support.sumologic.com).
285308
286309
## Questions, Feedback?
287310
288-
We would love to hear more common configuration scenarios or improvements to this documentation from you! Please submit an issue
311+
We would love to hear more common configuration scenarios or improvements to this documentation from you! Please submit an issue
289312
on the [aws-otel community page](https://github.com/aws-observability/aws-otel-community) to let us know.
290-
291-
292-

0 commit comments

Comments
 (0)