Spring Boot starter that auto-configures a client application to register with Spring Boot Admin server for centralized monitoring and management
—
The client configuration controls how the Spring Boot application connects to and communicates with Spring Boot Admin servers. All properties are prefixed with spring.boot.admin.client.
@ConfigurationProperties("spring.boot.admin.client")
public class ClientProperties {
// Server URLs to register with
private String[] url = new String[] {};
// Admin REST API path (default: "instances")
private String apiPath = "instances";
// Time interval between registration attempts (default: 10 seconds)
private Duration period = Duration.ofMillis(10_000L);
// Connection timeout for registration (default: 5 seconds)
private Duration connectTimeout = Duration.ofMillis(5_000L);
// Read timeout for registration (default: 5 seconds)
private Duration readTimeout = Duration.ofMillis(5_000L);
}public class ClientProperties {
// Username for basic authentication with admin server
private String username;
// Password for basic authentication with admin server
private String password;
}public class ClientProperties {
// Enable automatic registration when application starts (default: true)
private boolean autoRegistration = true;
// Enable automatic deregistration when application shuts down
// Defaults to true if running on a cloud platform
private Boolean autoDeregistration = null;
// Register with one admin server vs all admin servers (default: true)
private boolean registerOnce = true;
// Enable the Spring Boot Admin client entirely (default: true)
private boolean enabled = true;
}public class ClientProperties {
// Get admin URLs with API path appended
public String[] getAdminUrl();
// Determine auto-deregistration setting based on environment
public boolean isAutoDeregistration(Environment environment);
}# Single admin server
spring.boot.admin.client.url=http://localhost:8080
# Multiple admin servers
spring.boot.admin.client.url=http://admin1:8080,http://admin2:8080spring.boot.admin.client.username=admin-user
spring.boot.admin.client.password=secret-password# Check every 30 seconds instead of default 10
spring.boot.admin.client.period=30000
# Longer connection timeout for slow networks
spring.boot.admin.client.connect-timeout=10000
spring.boot.admin.client.read-timeout=15000# Disable automatic registration (manual control)
spring.boot.admin.client.auto-registration=false
# Force auto-deregistration even on non-cloud platforms
spring.boot.admin.client.auto-deregistration=true
# Register with all admin servers instead of just one
spring.boot.admin.client.register-once=false# Completely disable Spring Boot Admin client
spring.boot.admin.client.enabled=false# Use custom API endpoint on admin server
spring.boot.admin.client.api-path=custom-instancesspring:
boot:
admin:
client:
url:
- http://admin1:8080
- http://admin2:8080
username: admin
password: secret
period: 30s
connect-timeout: 10s
read-timeout: 15s
auto-registration: true
auto-deregistration: true
register-once: falseInstall with Tessl CLI
npx tessl i tessl/maven-de-codecentric--spring-boot-admin-starter-client