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

[Question] What do use as Docker HEALTHCHECK #187

Open
apachler opened this issue Dec 3, 2024 · 3 comments
Open

[Question] What do use as Docker HEALTHCHECK #187

apachler opened this issue Dec 3, 2024 · 3 comments
Assignees
Labels
Enhancement New feature or request Question Further information is requested

Comments

@apachler
Copy link

apachler commented Dec 3, 2024

Component

  • TBMQ Docker

Description

Since many supporting tools (curl, nc, wget, ..) are missing in the container image i have no idea how to implement a useful healthcheck.
Also, is there an application endpoint where some can do a solid healthcheck with? Because, checking for the running process is not suitable and does not give any hint if the application itself is working as expected.

Environment

  • OS: SLES 15, Docker Swarm
  • TBMQ: 1.4.0
@apachler apachler added the Question Further information is requested label Dec 3, 2024
@dmytro-landiak
Copy link
Contributor

hi @apachler,

Thank you for your feedback. Unfortunately, at the moment, there is no dedicated health endpoint in TBMQ that provides a comprehensive state check for the entire broker, including dependencies like Redis, Kafka, and PostgreSQL. We understand that merely checking if the process is running does not provide meaningful insights into the broker's actual health.

We acknowledge the importance of such functionality and are committed to adding a robust health endpoint in future releases. This endpoint will include checks for critical dependencies and core MQTT operations to ensure the broker is functioning as expected.

Thank you for bringing this to our attention, and we appreciate your patience as we work on this improvement.

@dmytro-landiak dmytro-landiak added the Enhancement New feature or request label Dec 3, 2024
@apachler
Copy link
Author

apachler commented Dec 3, 2024

I am not sure if it is required to have an health endpoint that checks the dependencies also because those are already health checked by itself. The container should not restart because of a dependency not working but it should restart if the application in the container itself is stale.
So i think the health endpoint should just report if the application itself is available or not...

@dmytro-landiak
Copy link
Contributor

We will carefully review this aspect before proceeding with implementation. However, we believe there could be cases where dependencies like Redis or PostgreSQL are healthy, but the connection between TBMQ and these services is broken and cannot be fixed automatically.

In such scenarios, the broker's functionality could be impacted, even though the underlying dependency is operational. This is something we need to account for in the health endpoint to ensure it reflects the true state of the application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants