Health Check For Geyser
See original GitHub issueWhat feature do you want to see added?
Would like to see an internal server to export health information.
Example:
Define a port in configuration to run the internal server for health checks.
In the same server we can use an external process to query 127.0.0.1:port/health
to retrieve health status of geyser.
Use Case:
In certain cases in devops there’s a necessity to know when something is failing, working properly, or going down. This health check would either return a 200 status when healthy, 404 when not ready, along with other status codes to define current state/health of the geyser proxy.
Benefits:
This would allow an external process to monitor the health of geyser.
Are there any alternatives?
Have looked through the codebase a bit and it doesn’t look like there’s anything to probe the health of the geyser without passing through UDP packets which is not necessarily ideal for this kind of service.
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (3 by maintainers)
Top GitHub Comments
It’s best to just integrate it into the connector module then it should work on any platform.
It’d just be a request -> response, there are plenty of lightweight http response things out there. I don’t think a full web server library is necessary, especially when java itself packages in some nice http server, which is all that’s necessary for this kind of work honestly.
My main concerns with the UDP query is that the java query (UDP query) looks heavy for something like a health check. It looks like it also wants quite a bit more information than just a ping to the server (looking at a few go libs which do support this kind of ping).
I think the benefits the health check will give to the devops world outweighs the concern for package size, especially since there’s http server handlers within java itself.