diff --git a/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector-jaeger.md b/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector-jaeger.md index 77a2439eaba..50a3e194362 100644 --- a/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector-jaeger.md +++ b/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector-jaeger.md @@ -7,13 +7,16 @@ description: "How to push trace events to Jaeger distributed tracing platform, u type: docs --- -Dapr supports writing traces using OpenTelemetry (OTLP) and Zipkin protocols, but for Jaeger, Zipkin support has been deprecated in favour of OpenTelemetry. Although Jaeger supports OTLP directly, the recommended approach for production is to use the OpenTelemetry Collector to collect traces from Dapr and send them to Jaeger, allowing your application to quickly offload data and take advantage of features like retries, batching, and encryption. For more information, read the Open Telemetry Collector [documentation](https://opentelemetry.io/docs/collector/#when-to-use-a-collector). +While Dapr supports writing traces using OpenTelemetry (OTLP) and Zipkin protocols, Zipkin support for Jaeger has been deprecated in favor of OTLP. Although Jaeger supports OTLP directly, the recommended approach for production is to use the OpenTelemetry Collector to collect traces from Dapr and send them to Jaeger, allowing your application to quickly offload data and take advantage of features like retries, batching, and encryption. For more information, read the Open Telemetry Collector [documentation](https://opentelemetry.io/docs/collector/#when-to-use-a-collector). +{{< tabs Self-hosted Kubernetes >}} -## Configure Jaeger in self hosted mode +{{% codetab %}} + +## Configure Jaeger in self-hosted mode ### Local setup -The simplest way to start Jaeger is to run the pre-built all-in-one Jaeger image published to DockerHub and expose the OLTP port: +The simplest way to start Jaeger is to run the pre-built, all-in-one Jaeger image published to DockerHub and expose the OTLP port: ```bash docker run -d --name jaeger \ @@ -22,12 +25,9 @@ docker run -d --name jaeger \ jaegertracing/all-in-one:1.49 ``` -Next, create the following YAML files locally: +Next, create the following `config.yaml` file locally: -* **config.yaml**: Note that because you are using the Open Telemetry protocol -to talk to Jaeger, you need to fill out the `otel` section of tracing -configuration and set the `endpointAddress` to the address of the Jaeger -container. +> **Note:** Because you are using the Open Telemetry protocol to talk to Jaeger, you need to fill out the `otel` section of the tracing configuration and set the `endpointAddress` to the address of the Jaeger container. ```yaml apiVersion: dapr.io/v1alpha1 @@ -54,11 +54,14 @@ dapr run --app-id myapp --app-port 3000 node app.js --config config.yaml ### View traces -To view traces, in your browser go to `http://localhost:16686` to see the Jaeger UI. +To view traces in your browser, go to `http://localhost:16686` to see the Jaeger UI. +{{% /codetab %}} +{{% codetab %}} + ## Configure Jaeger on Kubernetes with the OpenTelemetry Collector -The following steps show you how to configure Dapr to send distributed tracing data to the Open Telemetry Collector which in turn, sends the traces to Jaeger. +The following steps show you how to configure Dapr to send distributed tracing data to the OpenTelemetry Collector which, in turn, sends the traces to Jaeger. ### Prerequisites @@ -129,7 +132,9 @@ kubectl port-forward svc/jaeger-query 16686 -n observability In your browser, go to `http://localhost:16686` and you will see the Jaeger UI. ![jaeger](/images/jaeger_ui.png) +{{% /codetab %}} +{{< /tabs >}} ## References - [Jaeger Getting Started](https://www.jaegertracing.io/docs/1.49/getting-started/) diff --git a/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector.md b/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector.md index f4301931199..51c75123c01 100644 --- a/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector.md +++ b/daprdocs/content/en/operations/observability/tracing/otel-collector/open-telemetry-collector.md @@ -6,7 +6,7 @@ weight: 900 description: "How to use Dapr to push trace events through the OpenTelemetry Collector." --- -Dapr directly writes traces using the OpenTelemetry (OTLP) protocol as the **recommended** method. For observability tools that support the OpenTelemetry protocol directly, it is recommended to use the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector), as it allows your application to quickly offload data and includes features, such as retries, batching, and encryption. For more information, read the Open Telemetry Collector [documentation](https://opentelemetry.io/docs/collector/#when-to-use-a-collector). +Dapr directly writes traces using the OpenTelemetry (OTLP) protocol as the **recommended** method. For observability tools that support the OTLP directly, it is recommended to use the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector), as it allows your application to quickly offload data and includes features, such as retries, batching, and encryption. For more information, read the Open Telemetry Collector [documentation](https://opentelemetry.io/docs/collector/#when-to-use-a-collector). Dapr can also write traces using the Zipkin protocol. Prior to supporting the OTLP protocol, the Zipkin protocol was used with the OpenTelemetry Collector to send traces to observability tools such as AWS X-Ray, Google Cloud Operations Suite, and Azure Monitor. Both protocol approaches are valid, however the OpenTelemetry protocol is the recommended choice.