Sending Data to Tanzu Observability by Wavefront
If your application uses an OpenTelemetry SDK, you can configure the application to send traces or metrics to Tanzu Observability using the Wavefront Proxy or the OpenTelemetry Collector.
Send Trace Data
If your application uses an OpenTelemetry SDK, you can configure the application to send trace data to Tanzu Observability using any of the following options:
Directly Send Data Using the Wavefront Proxy - (Recommended)
Follow these steps:
- Install the Wavefront Proxy version 11.3 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.
By default, OpenTelemetry SDKs send data over gRPC tohttp://localhost:4317
. - Explore the trace data using our tracing 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:
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.28.0 or later to export traces 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 the trace data sent using our tracing dashboards.
You can then 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.
Send Metrics Data
If your application uses an OpenTelemetry SDK, you can configure the application to send metrics data to Tanzu Observability using any of the following options listed below. Metrics data includes time series, counters, and histograms. When the data is in Tanzu Observability, you can use charts and dashboards to visualize the data and create alerts.
Directly Send Data Using the Wavefront Proxy - (Recommended)
Follow these steps:
- Install the Wavefront Proxy version 11.3 or higher.
- Proxy configurations
- 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
- Ensure that port 2878 is open to send metrics to Tanzu Observability. 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.
- Port 4317 (recommended) with
- To receive the OpenTelemetry resource attributes that your application sends for metrics data, set
otlpResourceAttrsOnMetricsIncluded
totrue
. 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 --otlpResourceAttrsOnMetricsIncluded true" \ -p 2878:2878 \ -p 4317:4317 \ wavefronthq/proxy:latest
See the Wavefront proxy settings for OpenTelemetry.
For example, on Linux, Mac, and Windows,- Open the
wavefront.conf
file - Add
otlpGrpcListenerPorts=4317
- Add
otlpResourceAttrsOnMetricsIncluded=true
- Save the file.
- Open the port on the Wavefront Proxy to send OpenTelemetry spans to Tanzu Observability.
- Configure your application to send trace data to the Wavefront Proxy.
By default, OpenTelemetry SDKs send data over gRPC tohttp://localhost:4317
. - 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.
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.
- If you have already installed the Wavefront proxy, make sure it is version 10.14 or later.
-
Ensure that port 2878 is open to send metrics to Tanzu Observability. 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.
- Configure your application to send the metrics data to the OpenTelemetry Collector.
- Export the data from the OpenTelemetry Collector to the Tanzu Observability (Wavefront) metrics 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 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 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.
Example:
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.