Search code examples
amazon-web-servicesamazon-elbgremlin-server

Gremlin-server health check endpoint for AWS ELB


Is there any HTTP/TCP endpoint for a gremlin-server health check? Currently, we are using the default TCP port but it doesn't seem to indicate the gremlin-server's health.

We noticed that gremlin-server crashed and was not running but the health check kept passing. We are using AWS Classic Load Balancer.


Solution

  • Have you enabled an HTTP endpoint for the Gremlin service? The document above explains:

    While the default behavior for Gremlin Server is to provide a WebSocket-based connection, it can also be configured to support plain HTTP web service. The HTTP endpoint provides for a communication protocol familiar to most developers, with a wide support of programming languages, tools and libraries for accessing it.

    If so, you can use an ELB HTTP health check to a target like this:

    HTTP:8182/?gremlin=100-1

    With a properly configured service, this query will return a 200 HTTP status code, which will indicate to the ELB that the service is healthy.