in actuator-http-metrics/src/main/java/sample/camel/MyRouteBuilder.java [27:56]
public void configure() throws Exception {
// First, we have to configure our jetty component, which will be the rest
// in charge of querying the REST endpoints from actuator
restConfiguration()
.host("0.0.0.0")
.port(8080)
.bindingMode(RestBindingMode.json);
// First, let's show the routes we have exposed. Let's create a timer
// consumer that will only fire once and show us the exposed mappings
from("timer:queryTimer?repeatCount=1")
.to("rest:get:/actuator/mappings")
.unmarshal()
.json(true)
.to("log:INFO?multiline=true");
// Then, we will be querying the cpu consumption periodically. For more options, you can check
// https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-metrics-endpoint
from("timer:metricsTimer?period={{metricsPeriod}}")
.to("rest:get:/actuator/metrics/system.cpu.usage")
.unmarshal()
.json(true)
.to("log:INFO?multiline=true");
// Finally, let's see how to shutdown our application using the actuator endpoint
from("timer:shutdownTimer?delay={{shutdownTime}}&repeatCount=1")
.log("Shutting down")
.to("rest:post:/actuator/shutdown");
}