[HEADS UP] - HealthCheck work

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[HEADS UP] - HealthCheck work

Claus Ibsen-2
Hi

If you have seen the last week commits from my hand then they have
been related to the refactoring of the health-check in Camel. There
has been some gtliches and sorry for not noticing camel-consul got
broken.

However the work is reaching a stage where we will have the same set
of built in health checks out of the box, that are enabled if you add
camel-health on the classpath. (and for camel-quarkus its the
microprofile-health).

These health checks also allows to be configured in the same uniform
way in application.properties (for example).

So if you look in this example (standalone)
https://github.com/apache/camel-examples/blob/master/examples/camel-example-main-health/src/main/resources/application.properties

Then those options for camel.health are similar for camel on spring
boot, quarkus, and main etc.

The work for spring boot is pending and I need to do something similar
as we have done in camel-microprofile to bridge from camel health
check to spring boot actuator.

The health check also has integration with the supervised route
controller, so it allows the controller to mark a route that would not
startup (after all its restart attempts faiiled) is either DOWN or in
UNKNOWN state (you can decide).

Also the health checks is JMX manageable, and as well you can access
it via its Java API.

The health checks also has the concept of readiness and liveness so
they work great on kubernetes and in the cloud.

There is some more work to add a bit more DEBUG logging to have a bit
more visibility for troubleshooting. And for standalone mode we could
consider to have a thin HTTP API to allow to use platform-http
component to service a /health URL to make it easy to run in
standalone mode and have a HTTP URL to query the state.

I would also like to log on startup which health checks are discovered
and in use.



--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2
Reply | Threaded
Open this post in threaded view
|

Re: [HEADS UP] - HealthCheck work

lburgazzoli
That's a really great work Claus

---
Luca Burgazzoli


On Wed, Jun 3, 2020 at 8:41 PM Claus Ibsen <[hidden email]> wrote:

> Hi
>
> If you have seen the last week commits from my hand then they have
> been related to the refactoring of the health-check in Camel. There
> has been some gtliches and sorry for not noticing camel-consul got
> broken.
>
> However the work is reaching a stage where we will have the same set
> of built in health checks out of the box, that are enabled if you add
> camel-health on the classpath. (and for camel-quarkus its the
> microprofile-health).
>
> These health checks also allows to be configured in the same uniform
> way in application.properties (for example).
>
> So if you look in this example (standalone)
>
> https://github.com/apache/camel-examples/blob/master/examples/camel-example-main-health/src/main/resources/application.properties
>
> Then those options for camel.health are similar for camel on spring
> boot, quarkus, and main etc.
>
> The work for spring boot is pending and I need to do something similar
> as we have done in camel-microprofile to bridge from camel health
> check to spring boot actuator.
>
> The health check also has integration with the supervised route
> controller, so it allows the controller to mark a route that would not
> startup (after all its restart attempts faiiled) is either DOWN or in
> UNKNOWN state (you can decide).
>
> Also the health checks is JMX manageable, and as well you can access
> it via its Java API.
>
> The health checks also has the concept of readiness and liveness so
> they work great on kubernetes and in the cloud.
>
> There is some more work to add a bit more DEBUG logging to have a bit
> more visibility for troubleshooting. And for standalone mode we could
> consider to have a thin HTTP API to allow to use platform-http
> component to service a /health URL to make it easy to run in
> standalone mode and have a HTTP URL to query the state.
>
> I would also like to log on startup which health checks are discovered
> and in use.
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>
Reply | Threaded
Open this post in threaded view
|

Re: [HEADS UP] - HealthCheck work

Claus Ibsen-2
In reply to this post by Claus Ibsen-2
Hi

Okay I am almost finished.

The spring boot health example has been adjusted to be similar to the
main example, and they are configured the same way.
Then there is a little bit of startup logging I would like to output
which health checks are discovered and in use.
And then the /health for camel-main for a poor mans health endpoint.

On Wed, Jun 3, 2020 at 8:40 PM Claus Ibsen <[hidden email]> wrote:

>
> Hi
>
> If you have seen the last week commits from my hand then they have
> been related to the refactoring of the health-check in Camel. There
> has been some gtliches and sorry for not noticing camel-consul got
> broken.
>
> However the work is reaching a stage where we will have the same set
> of built in health checks out of the box, that are enabled if you add
> camel-health on the classpath. (and for camel-quarkus its the
> microprofile-health).
>
> These health checks also allows to be configured in the same uniform
> way in application.properties (for example).
>
> So if you look in this example (standalone)
> https://github.com/apache/camel-examples/blob/master/examples/camel-example-main-health/src/main/resources/application.properties
>
> Then those options for camel.health are similar for camel on spring
> boot, quarkus, and main etc.
>
> The work for spring boot is pending and I need to do something similar
> as we have done in camel-microprofile to bridge from camel health
> check to spring boot actuator.
>
> The health check also has integration with the supervised route
> controller, so it allows the controller to mark a route that would not
> startup (after all its restart attempts faiiled) is either DOWN or in
> UNKNOWN state (you can decide).
>
> Also the health checks is JMX manageable, and as well you can access
> it via its Java API.
>
> The health checks also has the concept of readiness and liveness so
> they work great on kubernetes and in the cloud.
>
> There is some more work to add a bit more DEBUG logging to have a bit
> more visibility for troubleshooting. And for standalone mode we could
> consider to have a thin HTTP API to allow to use platform-http
> component to service a /health URL to make it easy to run in
> standalone mode and have a HTTP URL to query the state.
>
> I would also like to log on startup which health checks are discovered
> and in use.
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2