Spring Boot

Supported Versions

Currently supported versions are Spring Boot 1.x and 2.x.

Configuration

Spring Boot monitoring requires that Spring Boot Actuator is configured:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

For Spring Boot 2.2.x and later it’s necessary to enable jmx in the application.properties:

spring.jmx.enabled=true

Instana queries metrics and health from the respective Spring Boot management MBeans org.springframework.boot:type=Endpoint,name=Metrics and org.springframework.boot:type=Endpoint,name=Health

Naming Spring Boot Apps

Instana extracts the name for the Spring Boot instances leveraging the build-info.properties file. It can be generated for example with the spring-boot-maven-plugin:

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <executable>true</executable>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>build-info</goal>
      </goals>
      <configuration>
        <additionalProperties>
          <name>${project.artifactId}</name>
          <version>${project.version}</version>
        </additionalProperties>
      </configuration>
    </execution>
  </executions>
</plugin>

See https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/build-info.html for details.

Alternatively, you can also set spring.application.name in your application config. This requires the Spring Boot Actuator to be configured (see previous section).

Metrics collection

Configuration data

  • Name
  • Application Version
  • Spring Boot Version
  • Status
  • Port
  • HTTP Session Max
  • Application Configuration

Performance metrics

  • Requests incl. Status Codes
  • Sessions
  • Endpoint Request/Response Breakdown

Health Signatures

For each sensor, there is a curated knowledgebase of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents depending on user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any given entity.

For information about built-events for the Spring Boot sensor, see the Built-in events reference.