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.
Directly Send Data Using the Wavefront Proxy - (Recommended)
Send trace data or metrics data to Tanzu Observability using only the Wavefront proxy:
Follow these steps:
- Install the Wavefront Proxy version 11.3 or higher.
- Configure the Wavefront Proxy to send OpenTelemetry data to Tanzu Observability. See the Wavefront proxy settings for OpenTelemetry.
- Trace data:
port 4317 (recommended) withotlpGrpcListenerPorts
or port 4318 (recommended) withotlpHttpListenerPorts
- Metrics data:
- Port 4317 (recommended) with
otlpGrpcListenerPorts
or port 4318 (recommended) withotlpHttpListenerPorts
- To receive the OpenTelemetry resource attributes that your application sends for metrics data, set
otlpResourceAttrsOnMetricsIncluded
totrue
.
Note: Be aware that setting this totrue
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.
- Port 4317 (recommended) with
- Trace data:
- Configure your application to send trace data to the Wavefront Proxy.
By default, OpenTelemetry SDKs send data over gRPC tohttp://localhost:4317
. - 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.- 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.
- Trace data:
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:
Follow these steps:
- 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 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:
- 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. - In the same directory, create a file named
otel_collector_config.yaml
. - Copy the configurations in the preconfigured YAML file to the file you just created. For details on OpenTelemetry configurations, see OpenTelemetry Collector Configuration.
- 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
- Download the
- 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:
- Create dashboards and charts for the data you sent to Tanzu Observability.
- Trace data:
Metrics Conversion
The OpenTelemetry metrics your applications send are converted to the Wavefront data format as follows:
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
- If you run into any issues with the examples, let us know by creating a GitHub issue on the Wavefront OpenTelemetry GitHub repository.
- If you didn’t find the information you are looking for in our Wavefront Documentation, create a GitHub issue or PR in our docs repository.