- Add the Spring Boot Actuator Dependency to your project:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
- Configure Actuator Endpoints in the application.properties or application.yml file:
management.endpoints.web.exposure.include=*
- Enable or Disable Specific Endpoints:
management.endpoint.health.show-details=always
management.endpoint.beans.enabled=false
- Customize Actuator Endpoint Paths:
management.endpoints.web.base-path=/custom-actuators
- Secure Actuator Endpoints:
management.endpoints.web.exposure.include=health,info
management.endpoint.health.roles=admin
- Use Spring Boot Actuator Health Indicators:
@Component
public class CustomHealthIndicator implements HealthIndicator {
@Override
public Health health() {
// Custom health check logic
return Health.up().withDetail("custom", "OK").build();
}
}
- Customize Actuator Info Endpoint:
info.app.version=1.0.0
info.app.description=My Spring Boot Application
- Monitor Application Metrics:
management.metrics.export.influx.enabled=true
management.metrics.export.influx.uri=http://localhost:8086
management.metrics.export.influx.db=my_metrics_db
- Use Custom Actuator Endpoints:
@Endpoint(id = "custom")
public class CustomEndpoint {
@ReadOperation
public String customEndpoint() {
// Custom endpoint logic
return "Custom Endpoint";
}
}
- Access Actuator Endpoints:
GET /actuator/health
GET /actuator/info
GET /actuator/metrics
GET /actuator/custom-actuators/custom
- Enable Spring Boot Actuator HTTP Trace:
management.trace.http.enabled=true
- Customize Actuator HTTP Trace Endpoint:
management.endpoints.web.exposure.include=trace
management.endpoints.trace.enabled=true
- Use Spring Boot Actuator Auditing:
@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
public class AuditableEntity {
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
}
- Customize Actuator Auditing Properties:
spring.data.jpa.repositories.auditing.enabled=true
management.auditevents.jpa.event-encoding=hex
- Monitor JVM Memory Usage:
management.endpoints.jmx.exposure.include=*
- Customize Actuator JMX Endpoint:
management.endpoints.jmx.unique-names=true
- Enable Spring Boot Actuator Metrics:
management.endpoint.metrics.enabled=true
- Customize Actuator Metrics:
management.metrics.tags.application=my-app
- Export Actuator Metrics to Prometheus:
management.metrics.export.prometheus.enabled=true
management.metrics.export.prometheus.path=/prometheus
- Monitor and Export Actuator Metrics to Grafana:
management.metrics.export.grafana.enabled=true
management.metrics.export.grafana.url=http://localhost:3000
management.metrics.export.grafana.dashboard-compatibility=GRAFANA_V7
- Customize Actuator Logging:
logging.level.org.springframework.boot.actuate=DEBUG