Examine Spring Boot 3 data in VMware Aria Operations for Applications (formerly known as Tanzu Observability by Wavefront) dashboards and charts

Wavefront for Spring Boot allows you to quickly configure your environment, so Spring Boot 3 components send metrics, histograms, and traces or spans to our service.

Features

If you use Wavefront for Spring Boot:

  • A large number of metrics are exposed by default. See the Spring Boot documentation on Supported Metrics for details.
  • You have tracing support for all the common Spring Boot components, such as Spring MVC, Spring Web, Spring Async, Feign, Hysterix, JMS, JDBC, Mongo, Zuul, Reactor, RxJava, Redis, Logging, Spring Messaging, and RabbitMQ.
  • The distributed tracing spans in your applications are automatically converted to our span format.

Sending Data from Spring Boot into Our Service

You can send data from your Spring Boot applications into our service using the Wavefront for Spring Boot Starter or the Wavefront Spring Boot integration.

  • Wavefront for Spring Boot Starter
    If you configure your application with the Wavefront for Spring Boot starter, you can send metrics, histograms, and traces/spans to our service. Once the data is in our service, you can view your data, find hotspots, and gather more data. Customers can modify the default Wavefront Spring Boot Starter to send data to their cluster.
  • Wavefront Spring Boot Integration: Customers can access the Wavefront Spring Boot integration directly from their clusters.

If your Spring Boot applications are running on Tanzu Application Service (TAS), see the VMware Tanzu solutions workbook on Instrumenting TAS OpenTelemetry for Spring Boot Application.

Dashboards

After you complete the setup, you can examine the data in our dashboards.

The Spring Boot Inventory dashboard provides real-time visibility into your Spring Boot environment.
  • This is the default dashboard you see when you run the Spring Boot initializer.
  • You can also access this dashboard from the Spring Boot integration Dashboards tab.
screenshot of spring boot dashboard
The Traces Browser allows you to examine traces for your applications. You can access this browser if you have trace data flowing:
  • From the Spring Boot Inventory dashboard.
  • From the Spring Boot integration Dashboards tab.
Tracing section has link to Application Dashboard
screenshot of the traces browser

Getting Started

Getting started is easy. Here are some things to know before you start:

Prerequisites for Wavefront Spring Boot Starter

  • Spring Boot 3.0.0 or above
    Spring Boot VersionWavefront for Spring Boot Version
    3.0.x 3.0.x
    3.2.x 3.2.x
  • Java 17 or above
  • Maven 3.5+ or Gradle 7.5 or later
    See theSystem Requirements in the Spring Boot documentation.

Step 1: Initialize and Configure Your Project

Initialize a new project using the Spring Initializer or add the required dependencies to an existing Spring project to send data to our service.

Follow these steps:

  1. Navigate to https://start.spring.io.
  2. Select 3.0.0 or later as the Spring Boot version and define the other parameters for your project.
    Spring Initializr
  3. Click Add dependency and select Wavefront from the dependency list.
    Wavefront dependency
  4. Optionally, add Distributed Tracing as a dependency to send trace data to our service.
    Distributed Tracing dependency
  5. Click Generate to download the project as a Zip file.
  6. Open the project, add the application logic, and start the project.

Follow these steps if you already have an Operations for Applications account.

  1. Import the Wavefront for Spring Boot Bill of Materials (BOM) to your project.
    
    <dependencyManagement>
      <dependencies>
      .....
        <dependency>
          <groupId>com.wavefront</groupId>
          <artifactId>wavefront-spring-boot-bom</artifactId>
          <version>$releaseVersion</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      .....
      </dependencies>
    </dependencyManagement>
                  
    dependencyManagement {
      imports {
        mavenBom "com.wavefront:wavefront-spring-boot-bom:$releaseVersion"
      }
    }
                
  2. If you want to send trace data to our service using Micrometer Tracing, add the following dependencies.
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-tracing-bridge-brave</artifactId>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-tracing-reporter-wavefront</artifactId>
      <scope>runtime</scope>
    </dependency>
                  
    dependencies {
      ...
      implementation 'io.micrometer:micrometer-tracing-bridge-brave'
      runtimeOnly 'io.micrometer:micrometer-tracing-reporter-wavefront'
    }
                  

Step 2: Specify Your Operations for Applications Instance

To send data to your Operations for Applications account, specify the uri and api-token properties as follows:

management.wavefront.api-token=$API_Token
management.wavefront.uri=$wavefront_instance

Step 3: View Your Data in Our Service

To view your data, you first run your project from the command line, and then click the link that directs you to our service. Follow these steps:

  1. Run your project.
    ./mvnw spring-boot:run
             
    ./gradlew bootRun
             
  2. Add data to your application before you start to view the data in our service.
  3. Go to your server instance, click Dashboards > All Dashboards and enter Spring Boot Inventory.
  4. Select Contains: Spring Boot Inventory, and click the Spring Boot Inventory result in the table.
    You are taken to the Wavefront Spring Boot Inventory dashboard where you can examine the data sent by your application.
    Example: Spring Boot metrics dashboard If your application uses trace data, click the link in the Tracing section of the dashboard to be directed to the Traces Browser.
    Example: Spring Boot traces browser

Custom Configurations

Add the following custom configurations to the application.properties file.

Invite Users

You can invite users and let them send data to the same cluster:

  1. Go to your server instance.
    1. Click the gear icon and select Accounts.
    2. Click Invite New Users and specify a comma-separated list of email addresses.
      Invite Users The users get an email with a link to reset their password. They can then access your dashboard.
  2. Information about the token and URL are displayed on your terminal. Add them to your project’s application.properties file.
     management.wavefront.api-token=<Enter_Token>
     management.wavefront.uri=<Enter_Wavefront_Instance>
    
  3. Restart your application.

Use the Wavefront Proxy

The Wavefront proxy ingests data and forwards it to our service in a secure, fast, and reliable manner. It prevents data loss, simplifies firewall configuration, and allows you to filter or enrich data before it is sent to our service.

Copy and paste the following property to the application.properties file.

management.wavefront.uri=proxy://<Proxy_Host>:2878

Specify Application and Service Names

If you have more than one Spring Boot application, you can specify the names of the application and the service in the application.properties file.


Example:

management.wavefront.application.name=my-application
management.wavefront.application.service-name=my-service

Example: If you are using a YAML file.

management:
  wavefront:
    application:
      name: my-application
      service-name: my-service

Optionally:

  • If you configured spring.application.name in your application, it is automatically used as the service name.

You can configure the cluster and shard names under the management.wavefront.application namespace as well. This information is used to tag metrics and traces.

  • If you want to take full control over ApplicationTags, you can create a @Bean.
  • If you want to customize the instance that is auto-configured, add an ApplicationTagsBuilderCustomizer bean.

Wavefront Spring Boot Integration

If you already have an Operations for Applications account, you can start the setup and examine the dashboards from the Wavefront Spring Boot integration.

  1. Click Integrations on the toolbar, search for Spring Boot, and click the Spring Boot integration.
  2. Use the information displayed on the Setup tab to set up the integration.
  3. When setup is complete, click the Dashboard tab to examine your data.

Next Steps