Observability Services

Camel Dashboard is designed to consume the services exposed by Camel Observability Services component.

📚 For more details, see:

âš ī¸ Requirements:

  • Apache Camel 4.9 or higher

â„šī¸ Common Observability Endpoints:

All runtimes expose these standard endpoints (default port 9876):

  • /observe/health - Startup probe
  • /observe/health/live - Liveness probe
  • /observe/health/ready - Readiness probe
  • /observe/metrics - Prometheus metrics

âš ī¸ Important: The observability endpoints are exposed in the management port (default 9876) since Camel 4.12. For previous versions it used the business port (default 8080).

Apache Camel with JBang

You simply either run with –observe option (use –metrics in older Camel versions):

1
camel run MyRoute.java --observe

Alternatively, you can enable and have more control of the configuration in the application.properties.

Apache Camel Core Runtime

All you need to do is to add the camel-observability-services dependency:

1
2
3
4
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-observability-services</artifactId>
</dependency>

This provides the foundational observability capabilities optimized for cloud and containerized environments.

Apache Camel with Quarkus Runtime

Add the camel-quarkus-observability-services extension to your existing project. This provides a complete observability solution with opinionated configuration optimized for cloud environments.

1
2
3
4
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-observability-services</artifactId>
</dependency>

🔗 GitHub Examples:

Apache Camel with Spring Boot

The camel-observability-services-starter is specifically designed for Spring Boot integration and provides the same observability endpoints with proper Spring Boot auto-configuration. Unlike the core camel-observability-services dependency, the starter offers full Spring Boot integration without configuration limitations.

1
2
3
4
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-observability-services-starter</artifactId>
</dependency>

🔗 GitHub Examples:

Testing and Verification

After adding observability services, verify the endpoints are working:

1
2
3
4
5
6
7
# Check health endpoints
curl http://localhost:9876/observe/health
curl http://localhost:9876/observe/health/live
curl http://localhost:9876/observe/health/ready

# Check metrics
curl http://localhost:9876/observe/metrics

For local OpenTelemetry testing:

1
docker run -p 4318:4318 otel/opentelemetry-collector-contrib:0.113.0