OpenTracing and OpenCensus have merged to form OpenTelemetry. OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. If your application uses OpenTelemetry, you can configure the application to send traces to Tanzu Observability by Wavefront.
How to Send Data
Before you get started, pick how you send data to Tanzu Observability by Wavefront. What your application uses determines what makes sense:
- If your application uses SpringBoot, use Spring Cloud Sleuth.
- If you are a new user, and you are configuring your application to send data to Tanzu Observability, use OpenTelemetry. If you run into issues when configuring Tanzu Observability with OpenTelemetry, contact Technical Support for help.
- If your application is already using OpenTracing, continue using OpenTracing. See OpenTracing Compatibility for guidance on transitioning from OpenTracing to OpenTelemetry.
Send Trace Data
If your application uses an OpenTelemetry SDK, you can configure the application to send trace data to Tanzu Observability:
- Using the OpenTelemetry Collector
- Or by directly sending OpenTelemetry data to the Wavefront proxy.
You can then use our tracing dashboards to visualize any request as a trace, which consists of a hierarchy of spans. This visualization helps you pinpoint where the request is spending most of its time and discover problems.
Send Data Using the Wavefront Proxy - (Recommended)
Send data from your application to the Wavefront Proxy. This is the recommended and simplest approach to get your data into Tanzu Observability.
Here’s how the data flows:
Follow these steps:
- Install the Wavefront Proxy version 11 or higher.
- Open the port on the Wavefront Proxy to send OpenTelemetry spans to Tanzu Observability.
- port 4317 (recommended) with
otlpGrpcListenerPorts
- or port 4318 (recommended) with
otlpHttpListenerPorts
See the Wavefront proxy settings for OpenTelemetry.
For example, on Linux, Mac, and Windows, open thewavefront.conf
file, add the lineotlpGrpcListenerPorts=4317
, and save the file. - port 4317 (recommended) with
- Configure your application to send trace data to the Wavefront Proxy.
Note: By default, OpenTelemetry SDKs send data over gRPC to
http://localhost:4317
. - Explore the trace data using our tracing dashboards.
Send Data Using the OpenTelemetry Collector
If you have already configured your application to send data to the OpenTelemetry Collector, the data flows from your application to Tanzu Observability as shown in the diagram:
Follow these steps:
- Install the Wavefront Proxy.
Note:
-
Open port 30001, with
customTracingListenerPorts=30001
, for the proxy to generate span-level RED metrics. -
Ensure that port 2878 is open to send spans and metrics to the Wavefront service. For example, on Linux, Mac, and Windows, open the
wavefront.conf
file and confirm thatpushListenerPorts
is set to 2878, and that this configuration is uncommented.
-
Open port 30001, with
- Configure your application to send trace data to the OpenTelemetry Collector. See the OpenTelemetry documentation for details.
- Export the data from the OpenTelemetry Collector to the Tanzu Observability (Wavefront) trace exporter:
- Create a directory to store all the files.
- Download the binary from the latest release of the OpenTelemetry Collector project to the directory you created.
- In the same directory, create a file named
otel_collector_config.yaml
. - Copy the configurations below into the YAML file.
receivers: otlp: protocols: grpc: endpoint: "<enter your IP address>:4317" exporters: tanzuobservability: traces: endpoint: "http://<enter your IP address>:30001" metrics: endpoint: "http://<enter your IP address>:2878" # Proxy hostname and customTracing ListenerPort processors: batch: timeout: 10s memory_limiter: check_interval: 1s limit_percentage: 50 spike_limit_percentage: 30 service: pipelines: metrics: receivers: [otlp] exporters: [tanzuobservability] processors: [memory_limiter, batch] traces: receivers: [otlp] exporters: [tanzuobservability] processors: [memory_limiter, batch]
Tip: To learn more about OpenTelemetry configurations, see OpenTelemetry Collector Configuration. - On your console, navigate to the directory you created in the step above and run the following command to start OpenTelemetry Collector:
./otelcontribcol_darwin_amd64 --config otel_collector_config.yaml
- Explore the trace data sent using our tracing dashboards.
Next Steps
- Try out the Tutorials and see how you can send your data to Tanzu Observability!
- To enable proxy debug logs for the OpenTelemetry data sent directly to the Wavefront Proxy, see Enable Proxy Debug Logs for OpenTelemetry Data.