Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend Kafka health check documentation #15368

Merged
merged 1 commit into from
Mar 2, 2021

Conversation

cescoffier
Copy link
Member

Fix #15347

  • Explain how to enable/disable the various health check
  • Explain what is checked by which ones
  • Explain which broker each check uses

- Explain how to enable/disable the various health check
- Explain what is checked by which ones
- Explain which broker each check uses
If enabled, when you access the `/q/health/ready` endpoint of your application you will have information about the connection validation status.
When using the `quarkus-kafka` extension, you can enable _readiness_ health check by setting the `quarkus.kafka.health.enabled` property to `true` in your `application.properties`.
This check reports the status of the interaction with a _default_ Kafka broker (configured using `kafka.bootstrap.servers`).
That check requires an _admin connection_ with the Kafka broker.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised you need elevated privileges for a simple thing like health checks? Or did I misunderstand what an admin connection is?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, user credentials are enough to create a Kafka Admin client, and so execute the check. That being said I agree with you, it's like requiring a privileged account on a database to check if the database is present (if DROP TABLE USERS succeeds that means we are connected to the database).

That's why in reactive messaging, we moved away from that model and we have been discussing multiple alternatives. The new one (in Reactive Messaging 2.8) looks good so far and does not require an admin connection anymore. But, I would like to see if we get more reports (we had one but it was actually correct, the application was not consistent). If we don't get more reports we will apply the same strategy in the kafka-client extension.

Also, the motivation for this is that not all Kafka deployments will allow admin connections using user credentials.

@gsmet gsmet merged commit 9aa475c into quarkusio:master Mar 2, 2021
@cescoffier cescoffier deleted the kafka-health-doc branch August 1, 2021 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

reactive messaging - broker configuration per channel is buggy with kafka healthcheck
2 participants