diff --git a/_posts/blog/2022-06-22-2.1.0-metrics-and-tracing.md b/_posts/blog/2022-06-22-2.1.0-metrics-and-tracing.md index 21053728b..227fca998 100644 --- a/_posts/blog/2022-06-22-2.1.0-metrics-and-tracing.md +++ b/_posts/blog/2022-06-22-2.1.0-metrics-and-tracing.md @@ -85,7 +85,9 @@ general.micrometer.factory=org.apache.accumulo.test.metrics.TestStatsDRegistryFa 10. Log into Grafana (http://localhost:3003/) using the default credentials (root/root). Click the `Home` icon at the top, then click the `Accumulo Micrometer Test Dashboard`. If everything is working correctly, then you should see something like the image below. -![Grafana Screenshot](/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png) + + Grafana Screenshot + # Tracing @@ -118,6 +120,8 @@ general.opentelemetry.enabled=true general.opentelemetry.enabled=true ``` + **Note:** If you are using Accumulo 2.1.4 or newer, skip steps 5-6 below and follow the updated instructions in the [Updated Configuration with Newer Versions of OpenTelemetry](#updated-configuration-with-newer-versions-of-opentelemetry) section. + 5. Configure the OpenTelemetry JavaAgent in accumulo-env.sh by uncommenting the following and updating the path to the java agent jar: ``` ## Optionally setup OpenTelemetry SDK AutoConfigure @@ -148,4 +152,30 @@ docker run -d --rm --name jaeger \ 8. View traces in Jaeger UI at http://localhost:16686. You can select the service name on the left panel and click `Find Traces` to view the trace information. If everything is working correctly, then you should see something like the image below. -![Jaeger Screenshot](/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png) + + Jaeger Screenshot + + +## Updated Configuration with Newer Versions of OpenTelemetry + +The original tracing example above was written for Accumulo 2.1.0 which uses OpenTelemetry 1.19.0. Accumulo 2.1.4 has been updated to use OpenTelemetry 1.48.0, which requires different configuration. When working with Accumulo 2.1.4 or any deployment using OpenTelemetry 1.48.0 or newer, use OTLP (OpenTelemetry Protocol) instead of the direct Jaeger exporter. + +Follow steps 1–4 from the [Tracing Example](#tracing-example) section, then use these updated steps in place of steps 5-6: + +1. Configure the OpenTelemetry JavaAgent in accumulo-env.sh with OTLP export: + ```bash + JAVA_OPTS=('-Dotel.traces.exporter=otlp' '-Dotel.exporter.otlp.endpoint=http://localhost:4317' '-Dotel.metrics.exporter=none' '-Dotel.logs.exporter=none' "${JAVA_OPTS[@]}") + JAVA_OPTS=('-javaagent:path/to/opentelemetry-javaagent.jar' "${JAVA_OPTS[@]}") + ``` +2. Start Jaeger with OTLP support: + ```bash + docker run --rm --name jaeger \ + -p 16686:16686 \ + -p 4317:4317 \ + -p 4318:4318 \ + -p 5778:5778 \ + -p 9411:9411 \ + jaegertracing/jaeger:2.3.0 + ``` + +After completing these updated steps, continue with steps 7-8 from the original instructions to view traces in Jaeger. \ No newline at end of file