arangodb / arangodb-docker

Docker container for ArangoDB
Apache License 2.0
106 stars 32 forks source link

Add HEALTHCHECK to check if the service is started #39

Closed gontard closed 6 years ago

gontard commented 7 years ago

The instruction HEALTHCHECK allows to check container health by running a command inside the container. It could also be used by docker-compose to wait for another container to be “healthy” .

Do you think it could be added in the arangodb Dockerfile ?

dothebart commented 7 years ago

Hi, we're actually not all sure what would be the best way to implement this.

the default way would be curl http://127.0.0.1:5829/_api/version - However we don't know the authentification (if single server) or whether its a TLS enabled endpoint.

Next possible way would be to query http://127.0.0.1:8529/ and expect the redirect into aardvark. However this still doesn't know how to switch from HTTP to HTTPS. One could write that in the entrypoint.sh

Next possibility would be to to try to find out the IP of arangod and check whether its running - however that wouldn't be to accurate?

gontard commented 7 years ago

Hello,

thanks for your reply. I have been searching for a while how to ensure arangodb is "healthy". I found theses discussions:

But nothing seems really reliable.

dothebart commented 7 years ago

Hi, the first approach has the disadvantage you need to install a foxx-service, which wouldn't be on board by default. and definitely not working if the container is used as a cluster node. The second has the problem, as noted above, that it may not accessible due to authentification.

gontard commented 7 years ago

Yes you are right. Is there any plan to add an API endpoint in arangodb to check the database status ? The issue https://github.com/arangodb/arangodb/issues/1506 have been closed even if the provided solution rely on a user defined foxx-service.

dothebart commented 6 years ago

Hi, we recently reworked https://docs.arangodb.com/devel/Cookbook/Monitoring/Collectd.html - if this doesn't suit your needs, please open an issue on the arangodb repository itselves, its got a broader audience than this. Closing this now.