Observability Services
JVM since3.19.0 Native since3.19.0
Camel Observability Services
Maven coordinates
Or add the coordinates to your existing project:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-observability-services</artifactId>
</dependency>
Check the User guide for more information about writing Camel Quarkus applications.
Usage
This extension provides a set of opinionated components and configuration to simplify operations such as observability on cloud environments. Although the extension is mainly targeted for cloud, it can be used in any other environment.
By adding the camel-quarkus-observability-services
extension to your application, each observability component (described below) will be configured with their individual default settings. No additional configuration is required.
HTTP endpoints will be exposed under the context path /observe/<service>
by default. Further details about this are described below.
If you need to customize any component provided by this extension, then you can specify any of their related configuration options in application.properties
, as it would be done normally when you work with the individual component extension(s).
Components
This extension automatically provides the following Camel Quarkus component extensions:
-
Camel Quarkus MicroProfile Health - for health checks
-
Camel Quarkus Management - for JMX
-
Camel Quarkus Micrometer - for Camel Micrometer metrics
-
Camel Quarkus OpenTelemetry - for tracing Camel messages (events/spans)
-
Quarkus Micrometer Registry Prometheus - for exporting metrics in Prometheus format
List of known endpoints
The presence of this extension will expose the following endpoints:
Endpoint | Description |
---|---|
| Accumulation of all health check procedures in the application |
| Liveness probe endpoint |
| Readiness probe endpoint |
| Application started probe endpoint |
| Metrics exposed from the Micrometer Prometheus registry |
You can configure the endpoints as you’d do normally within each extension configuration. |
OpenTelemetry configuration
The presence of this extension will provide the required instrumentation to enable the collection of OpenTelemetry metrics. The Camel Quarkus OpenTelemetry extension instruments your application and periodically attempts to export traces to the configured collector. This is disabled by default in order to prevent the application exporting traces when no telemetry server is available.
In order to enable instrumentation, you need to add the following configuration to application.properties
.
quarkus.otel.sdk.disabled=false
To configure any aspect of OpenTelemetry, you can add the following configuration to application.properties
. For example to customize the server endpoint where traces should be exported (default, http://localhost:4317
).
quarkus.otel.exporter.otlp.traces.endpoint=http://my-otel-collector.svc:4317
The full set of configuration options are documented in the Camel Quarkus OpenTelemetry and Quarkus OpenTelemetry documentation.
Quarkus trace exporting defaults to the gRPC protocol on port 4317. |
JMX configuration
The presence of this extension implies the presence of the camel-quarkus-management
extension. This exposes Camel JMX MBeans to provide insights and management of the running application.
If you prefer to disable Camel JMX instrumentation, you can add the following configuration to application.properties
.
camel.main.jmxEnabled=false
The full set of configuration options are documented in the Camel Quarkus Management documentation.