Spring sleuth setup
Spring Sleuth provides Spring Boot auto-configuration for distributed tracing. Skywalking integrates its micrometer so that it can send metrics to the Skywalking Meter System.
Set up agent
- Add micrometer and Skywalking meter registry dependency into the project’s
pom.xml
file. You can find more details at Toolkit micrometer.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-micrometer-registry</artifactId>
<version>${skywalking.version}</version>
</dependency>
- Create Skywalking meter registry in spring bean management.
@Bean
SkywalkingMeterRegistry skywalkingMeterRegistry() {
// Add rate configs If you need, otherwise using none args construct
SkywalkingConfig config = new SkywalkingConfig(Arrays.asList(""));
return new SkywalkingMeterRegistry(config);
}
Set up backend receiver
- Make sure to enable meter receiver in
application.yml
.
receiver-meter:
selector: ${SW_RECEIVER_METER:default}
default:
-
Configure the meter config file. It already has the spring sleuth meter config. If you have a customized meter at the agent side, please configure the meter using the steps set out in the meter document.
-
Enable Spring sleuth config in
application.yml
.
agent-analyzer:
selector: ${SW_AGENT_ANALYZER:default}
default:
meterAnalyzerActiveFiles: ${SW_METER_ANALYZER_ACTIVE_FILES:spring-sleuth}
Add UI dashboard
-
Open the dashboard view. Click
edit
button to edit the templates. -
Create a new template. Template type:
Standard
-> Template Configuration:Spring
-> Input the Template Name. -
Click
view
button. You’ll see the spring sleuth dashboard.
Supported meter
Three types of information are supported: Application, System, and JVM.
- Application: HTTP request count and duration, JDBC max/idle/active connection count, and Tomcat session active/reject count.
- System: CPU system/process usage, OS system load, and OS process file count.
- JVM: GC pause count and duration, memory max/used/committed size, thread peak/live/daemon count, and classes loaded/unloaded count.