Skip to content
This repository was archived by the owner on Aug 16, 2022. It is now read-only.

Commit e9845d3

Browse files
authored
Merge pull request #453 from wrijeff/trace
Updated trace analytics documentation to match recent changes.
2 parents 2ab4f7e + 2e0df5e commit e9845d3

File tree

3 files changed

+54
-19
lines changed

3 files changed

+54
-19
lines changed

docs/trace/data-prepper-reference.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,17 @@ nav_order: 25
77

88
# Data Prepper configuration reference
99

10-
This page lists all supported Data Prepper sources, buffers, processors, and sinks, along with their associated options. For example configuration files, see [Data Prepper](../data-prepper/).
10+
This page lists all supported Data Prepper sources, buffers, preppers, and sinks, along with their associated options. For example configuration files, see [Data Prepper](../data-prepper/).
11+
12+
13+
## Data Prepper server options
14+
Option | Required | Description
15+
:--- | :--- | :---
16+
ssl | No | Boolean, indicating whether TLS should be used for server APIs. Defaults to true.
17+
keyStoreFilePath | No | String, path to a .jks or .p12 keystore file. Required if ssl is true.
18+
keyStorePassword | No | String, password for keystore. Optional, defaults to empty string.
19+
privateKeyPassword | No | String, password for private key within keystore. Optional, defaults to empty string.
20+
serverPort | No | Integer, port number to use for server APIs. Defaults to 4900
1121

1222

1323
## General pipeline options
@@ -72,12 +82,12 @@ buffer_size | No | Integer, default 512. The maximum number of records the buffe
7282
batch_size | No | Integer, default 8. The maximum number of records the buffer drains after each read.
7383

7484

75-
## Processors
85+
## Preppers
7686

77-
Processors perform some action on your data: filter, transform, enrich, etc.
87+
Preppers perform some action on your data: filter, transform, enrich, etc.
7888

7989

80-
### otel_trace_raw_processor
90+
### otel_trace_raw_prepper
8191

8292
Converts OpenTelemetry data to Elasticsearch-compatible JSON documents. No options.
8393

@@ -86,10 +96,22 @@ Converts OpenTelemetry data to Elasticsearch-compatible JSON documents. No optio
8696

8797
Uses OpenTelemetry data to create a distributed service map for visualization in Kibana. No options.
8898

99+
### peer_forwarder
100+
Forwards ExportTraceServiceRequests via gRPC to other Data Prepper instances. Required for operating Data Prepper in a clustered deployment.
101+
102+
Option | Required | Description
103+
:--- | :--- | :---
104+
time_out | No | Integer, forwarded request timeout in seconds. Defaults to 3 seconds.
105+
span_agg_count | No | Integer, batch size for number of spans per request. Defaults to 48.
106+
discovery_mode | No | String, peer discovery mode to be used. Allowable values are `static` and `dns`. Defaults to `static`.
107+
static_endpoints | No | List, containing string endpoints of all Data Prepper instances.
108+
domain_name | No | String, single domain name to query DNS against. Typically used by creating multiple DNS A Records for the same domain.
109+
ssl | No | Boolean, indicating whether TLS should be used. Default is true.
110+
sslKeyCertChainFile | No | String, path to the security certificate
89111

90112
### string_converter
91113

92-
Converts strings to uppercase or lowercase. Mostly useful as an example if you want to develop your own processor.
114+
Converts strings to uppercase or lowercase. Mostly useful as an example if you want to develop your own prepper.
93115

94116
Option | Required | Description
95117
:--- | :--- | :---
@@ -116,7 +138,7 @@ aws_region | No | String, AWS region for the cluster (e.g. `"us-east-1"`) if you
116138
trace_analytics_raw | No | Boolean, default false. Whether to export as trace data to the `otel-v1-apm-span-*` index pattern (alias `otel-v1-apm-span`) for use with the Trace Analytics Kibana plugin.
117139
trace_analytics_service_map | No | Boolean, default false. Whether to export as trace data to the `otel-v1-apm-service-map` index for use with the service map component of the Trace Analytics Kibana plugin.
118140
index | No | String, name of the index to export to. Only required if you don't use the `trace_analytics_raw` or `trace_analytics_service_map` presets.
119-
template_file | No | String, the path to a JSON [index template](https://opendistro.github.io/for-elasticsearch-docs/docs/elasticsearch/index-templates/) file (e.g. `/your/local/template-file.json` if you do not use the `trace_analytics_raw` or `trace_analytics_service_map`. See [otel-v1-apm-span-index-template.json](https://github.com/opendistro-for-elasticsearch/simple-ingest-transformation-utility-pipeline/blob/master/situp-plugins/elasticsearch/src/main/resources/otel-v1-apm-span-index-template.json) for an example.
141+
template_file | No | String, the path to a JSON [index template](https://opendistro.github.io/for-elasticsearch-docs/docs/elasticsearch/index-templates/) file (e.g. `/your/local/template-file.json` if you do not use the `trace_analytics_raw` or `trace_analytics_service_map`. See [otel-v1-apm-span-index-template.json](https://github.com/opendistro-for-elasticsearch/data-prepper/blob/main/data-prepper-plugins/elasticsearch/src/main/resources/otel-v1-apm-span-index-template.json) for an example.
120142
document_id_field | No | String, the field from the source data to use for the Elasticsearch document ID (e.g. `"my-field"`) if you don't use the `trace_analytics_raw` or `trace_analytics_service_map` presets.
121143
dlq_file | No | String, the path to your preferred dead letter queue file (e.g. `/your/local/dlq-file`). Data Prepper writes to this file when it fails to index a document on the Elasticsearch cluster.
122144
bulk_size | No | Integer (long), default 5. The maximum size (in MiB) of bulk requests to the Elasticsearch cluster. Values below 0 indicate an unlimited size. If a single document exceeds the maximum bulk request size, Data Prepper sends it individually.

docs/trace/data-prepper.md

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Otherwise, [download](https://opendistro.github.io/for-elasticsearch/downloads.h
2323

2424
## Configure pipelines
2525

26-
To use Data Prepper, you define pipelines in a configuration YAML file. Each pipeline is a combination of a source, a buffer, zero or more processors, and one or more sinks:
26+
To use Data Prepper, you define pipelines in a configuration YAML file. Each pipeline is a combination of a source, a buffer, zero or more preppers, and one or more sinks:
2727

2828
```yml
2929
sample-pipeline:
@@ -38,8 +38,8 @@ sample-pipeline:
3838
bounded_blocking:
3939
buffer_size: 1024 # max number of records the buffer accepts
4040
batch_size: 256 # max number of records the buffer drains after each read
41-
processor:
42-
- otel_trace_raw_processor:
41+
prepper:
42+
- otel_trace_raw_prepper:
4343
sink:
4444
- elasticsearch:
4545
hosts: ["https:localhost:9200"]
@@ -55,9 +55,9 @@ sample-pipeline:
5555

5656
By default, Data Prepper uses its one and only buffer, the `bounded_blocking` buffer, so you can omit this section unless you developed a custom buffer or need to tune the buffer settings.
5757

58-
- Processors perform some action on your data: filter, transform, enrich, etc.
58+
- Preppers perform some action on your data: filter, transform, enrich, etc.
5959

60-
You can have multiple processors, which run sequentially from top to bottom, not in parallel. The `otel_trace_raw_processor` processor converts OpenTelemetry data into Elasticsearch-compatible JSON documents.
60+
You can have multiple preppers, which run sequentially from top to bottom, not in parallel. The `otel_trace_raw_prepper` prepper converts OpenTelemetry data into Elasticsearch-compatible JSON documents.
6161

6262
- Sinks define where your data goes. In this case, the sink is an Open Distro for Elasticsearch cluster.
6363

@@ -68,6 +68,9 @@ entry-pipeline:
6868
delay: "100"
6969
source:
7070
otel_trace_source:
71+
ssl: true
72+
sslKeyCertChainFile: "config/demo-data-prepper.crt"
73+
sslKeyFile: "config/demo-data-prepper.key"
7174
sink:
7275
- pipeline:
7376
name: "raw-pipeline"
@@ -77,10 +80,10 @@ raw-pipeline:
7780
source:
7881
pipeline:
7982
name: "entry-pipeline"
80-
processor:
83+
prepper:
8184
- string_converter:
8285
upper_case: true
83-
- otel_trace_raw_processor:
86+
- otel_trace_raw_prepper:
8487
sink:
8588
- elasticsearch:
8689
hosts: ["https://localhost:9200" ]
@@ -93,7 +96,7 @@ service-map-pipeline:
9396
source:
9497
pipeline:
9598
name: "entry-pipeline"
96-
processor:
99+
prepper:
97100
- service_map_stateful:
98101
sink:
99102
- elasticsearch:
@@ -106,19 +109,29 @@ service-map-pipeline:
106109

107110
To learn more, see the [Data Prepper configuration reference](../data-prepper-reference/).
108111

112+
## Configure the Data Prepper server
113+
Data Prepper itself provides administrative HTTP endpoints such as `/list` to list pipelines and `/metrics/prometheus` to provide Prometheus-compatible metrics data. The port which serves these endpoints, as well as TLS configuration, is specified by a separate YAML file. Example:
114+
115+
```yml
116+
ssl: true
117+
keyStoreFilePath: "/usr/share/data-prepper/keystore.jks"
118+
keyStorePassword: "password"
119+
privateKeyPassword: "other_password"
120+
serverPort: 1234
121+
```
109122

110123
## Start Data Prepper
111124

112125
**Docker**
113126

114127
```bash
115-
docker run --name data-prepper --expose 21890 --read-only -v /full/path/to/my-data-prepper-config.yml:/usr/share/data-prepper/data-prepper.yml amazon/opendistro-for-elasticsearch-data-prepper:latest
128+
docker run --name data-prepper --expose 21890 -v /full/path/to/pipelines.yaml:/usr/share/data-prepper/pipelines.yaml -v /full/path/to/data-prepper-config.yaml:/usr/share/data-prepper/data-prepper-config.yaml amazon/opendistro-for-elasticsearch-data-prepper:latest
116129
```
117130

118131
**macOS and Linux**
119132

120133
```bash
121-
./data-prepper-tar-install.sh config/my-data-prepper-config.yml
134+
./data-prepper-tar-install.sh config/pipelines.yaml config/data-prepper-config.yaml
122135
```
123136

124-
For production workloads, you likely want to run Data Prepper on a dedicated machine, which makes connectivity a concern. Data Prepper uses port 21890 and must be able to connect to both the OpenTelemetry Collector and the Elasticsearch cluster. In the [sample applications](https://github.com/opendistro-for-elasticsearch/Data-Prepper/tree/master/examples), you can see that all components use the same Docker network and expose the appropriate ports.
137+
For production workloads, you likely want to run Data Prepper on a dedicated machine, which makes connectivity a concern. Data Prepper uses port 21890 and must be able to connect to both the OpenTelemetry Collector and the Elasticsearch cluster. In the [sample applications](https://github.com/opendistro-for-elasticsearch/Data-Prepper/tree/main/examples), you can see that all components use the same Docker network and expose the appropriate ports.

docs/trace/get-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ nav_order: 1
77

88
# Get started with Trace Analytics
99

10-
Open Distro for Elasticsearch Trace Analytics consists of two components---Data Prepper and the Trace Analytics Kibana plugin---that fit into the OpenTelemetry and Elasticsearch ecosystems. The Data Prepper repository has several [sample applications](https://github.com/opendistro-for-elasticsearch/Data-Prepper/tree/master/examples) to help you get started.
10+
Open Distro for Elasticsearch Trace Analytics consists of two components---Data Prepper and the Trace Analytics Kibana plugin---that fit into the OpenTelemetry and Elasticsearch ecosystems. The Data Prepper repository has several [sample applications](https://github.com/opendistro-for-elasticsearch/data-prepper/tree/main/examples) to help you get started.
1111

1212

1313
## Basic flow of data
@@ -29,7 +29,7 @@ Open Distro for Elasticsearch Trace Analytics consists of two components---Data
2929

3030
One Trace Analytics sample application is the Jaeger HotROD demo, which mimics the flow of data through a distributed application.
3131

32-
Download or clone the [Data Prepper repository](https://github.com/opendistro-for-elasticsearch/Data-Prepper/tree/master/examples). Then navigate to `examples/jaeger-hotrod/` and open `docker-compose.yml` in a text editor. This file contains a container for each element from [Basic flow of data](#basic-flow-of-data):
32+
Download or clone the [Data Prepper repository](https://github.com/opendistro-for-elasticsearch/data-prepper). Then navigate to `examples/jaeger-hotrod/` and open `docker-compose.yml` in a text editor. This file contains a container for each element from [Basic flow of data](#basic-flow-of-data):
3333

3434
- A distributed application (`jaeger-hot-rod`) with the Jaeger agent (`jaeger-agent`)
3535
- The [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/getting-started/) (`otel-collector`)

0 commit comments

Comments
 (0)