This is Spring Boot Starter module for activating a Prometheus endpoint in Spring Boot applications.
A new Spring Boot Actuator endpoint - designed for Prometheus:
http://localhost:8080/prometheus
If you curl that you will get something like:
# HELP heap_used heap_used
# TYPE heap_used gauge
Exactly how Prometheus likes it.
It's as easy as any other Spring Boot Starter ;). Find your recipe below...
Gradle:
compile "com.moelholm:prometheus-spring-boot-starter:1.0.1"
Maven:
<dependency>
<groupId>com.moelholm</groupId>
<artifactId>prometheus-spring-boot-starter</artifactId>
<version>1.0.1</version>
</dependency>
You can configure 2 x properties - here shown with their default values:
endpoints.prometheus.path = /prometheus
endpoints.prometheus.sensitive = false
Same configuration as you will find with the standard Spring Boot Actuator endpoints.
There are other starters as well:
- https://github.com/thomasdarimont/prometheus-spring-boot-starter
- https://github.com/akaGelo/spring-boot-starter-prometheus
Both actually existed at the time I started development of this starter. The first one is simple but lacks two things: being in the Maven Central and using Spring Boot Actuator endpoints. The second one is very much like this starter - but additionally comes with health indicator information as well. Personally I found the implementation a bit complex - contrary to Thomas' implementation. Hence this starter: a kind of mashup ;)