Send OpenTelemetry traces and metrics data to Tanzu Observability.

Sending Data to Tanzu Observability by Wavefront

If you use OpenTelemetry, you can configure the application to send traces or metrics to Tanzu Observability using the Wavefront Proxy or the OpenTelemetry Collector.

Send trace data or metrics data to Tanzu Observability using only the Wavefront proxy:

A data flow diagram that shows how the data flows from your application to the proxy, and then to Tanzu Observability

Follow these steps:

  1. Install the Wavefront Proxy version 11.3 or higher.
  2. Configure the Wavefront Proxy to send OpenTelemetry data to Tanzu Observability. See the Wavefront proxy settings for OpenTelemetry.
    • Trace data:
      port 4317 (recommended) with otlpGrpcListenerPorts or port 4318 (recommended) with otlpHttpListenerPorts
    • Metrics data:
      • Port 4317 (recommended) with otlpGrpcListenerPorts or port 4318 (recommended) with otlpHttpListenerPorts
      • To receive the OpenTelemetry resource attributes that your application sends for metrics data, set otlpResourceAttrsOnMetricsIncluded to true.
        Note: Be aware that setting this to true increases the chance of metrics exceeding the annotations count limit on your Wavefront cluster, causing the metrics to be dropped by the Wavefront Proxy.

      For example, the command to start the proxy on Docker:

      docker run -d \
      -e WAVEFRONT_URL=https://<INSTANCE>.wavefront.com/api/ \
      -e WAVEFRONT_TOKEN=<TOKEN> \
      -e JAVA_HEAP_USAGE=512M \
      -e WAVEFRONT_PROXY_ARGS="--otlpGrpcListenerPorts 4317" \
      -p 2878:2878 \
      -p 4317:4317 \
      wavefronthq/proxy:latest
      


      For example, on Linux, Mac, and Windows:

      • Open the wavefront.conf file
      • Add otlpGrpcListenerPorts=4317
      • Save the file.
  3. Configure your application to send trace data to the Wavefront Proxy.
    By default, OpenTelemetry SDKs send data over gRPC to http://localhost:4317.
  4. Explore trace and metrics data:
    • Trace data:
      You can use our tracing dashboards to visualize the requests as traces, which consists of a hierarchy of spans. This visualization helps you pinpoint where the request is spending most of its time and discover problems.
    • Metrics data:
      Explore the metrics data you sent with charts and dashboards.

Send Data Using the OpenTelemetry Collector and the Wavefront Proxy

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:

Shows how the data flows from your application to the OpenTelemetry Collector to Tanzu Observability

Follow these steps:

  1. Install the Wavefront Proxy version 11.3 or higher.
    • 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 that pushListenerPorts is set to 2878, and that this configuration is uncommented.
  2. Configure your application to send trace data to the OpenTelemetry Collector. See the OpenTelemetry documentation for details.
  3. Export the data from the OpenTelemetry Collector to the Tanzu Observability (Wavefront) trace exporter:
    1. Download the otelcol-contrib binary from the latest release of the OpenTelemetry Collector project. Note: You need to use OpenTelemetry Collector Contrib version v0.51.0 or later to export traces and metrics to Tanzu Observability.
    2. In the same directory, create a file named otel_collector_config.yaml.
    3. Copy the configurations in the preconfigured YAML file to the file you just created. For details on OpenTelemetry configurations, see OpenTelemetry Collector Configuration.
    4. On your console, navigate to the directory you downloaded in the step above and run the following command to start OpenTelemetry Collector:
       ./otelcol-contrib --config otel_collector_config.yaml
      
  4. Explore trace and metrics data:
    • Trace data:
      You can use our tracing dashboards to visualize the requests as traces, which consists of a hierarchy of spans. This visualization helps you pinpoint where the request is spending most of its time and discover problems.
    • Metrics data:
      Try out the Dashboards and Charts tutorial, or watch the video on that page to get started.
      • Create dashboards and charts for the data you sent to Tanzu Observability.
        You need to have the required permissions to do these tasks.

      Example: shows the OpenTelemetry collector data in a chart

Metrics Conversion

The OpenTelemetry metrics your applications send are converted to the Wavefront data format as follows:

There is a table that shows how the OpenTelemetry metrics are converted to the Wavefront metrics format

For more information on the Tanzu Observability metrics, see Metric Types.

Tutorials

The Wavefront OpenTelemetry GitHub repository includes specific examples for using the OpenTelemetry collector in Java, Python, .NET, and more.

  • If you are on Wavefront Documentation, expand the tutorials section under OpenTelemetry, and try out a tutorial.
  • If you are on the GitHub repository, for example, go to the java-examples folder and follow the steps in the README to instrument Java Apps with OpenTelemetry.

Getting Support