Closed willmostly closed 7 months ago
Additional context https://github.com/trinodb/trino/issues/17259
I think the proper healthcheck REST endpoint for Trino are the same as used in the docker container
or if you need more
And btw .. we should make a similar simple healtcheck for Trino Gateway
https://github.com/trinodb/trino-gateway/pull/264 added support for v1/info
REST API. Let me close this issue.
Currently the Gateway supports either JDBC or REST for health checks. REST health checks use the
/ui/api/stats
endpoint, which is intended for use by the Trino UI, not external services, and has less flexible authentication options than other endpoints. JDBC based health checks create a lot of noise in query logs and other cluster metrics.The
/v1/jmx/mbean
API provides the statistics needed for health checks:/v1/jmx/mbean/trino.metadata:name=DiscoveryNodeManager
providesActiveNodeCount
/v1/jmx/mbean/trino.execution:name=QueryManager
providesRunningQueries
andQueuedQueries
ClusterStats
also has ablockedQueries
statistic, corresponding toBasicQueryStats.getFullyBlocked()
. This is available from/ui/api/stats/
but not other endpoints listed here.This endpoint can support any configured authentication method (unlike
/ui/api/stats
which must useweb-ui.authentication.type
). It doesn't require opening an extra port as jmx rmi would, and it doesn't require the coordinator to generate a query plan or spam the query logs. One potential downside of the/v1/jmx/mbean
API is that it relies on class and package name in trino to be constant.