In rOPS pillar/paas/docker.sls, we define services in docker_containers dictionary.
Most services have a container with a HTTP endpoint. Those use both app_port and host, for example:
docker_containers: docker-001: hound: nasqueron_hound: app_port: 44080 host: code.nasqueron.org github_account: nasqueron
We can query that service at two places:
- at proxy level, https://code.nasqueron.org
- at Docker engine level, http://localhost:44080
So the idea would be to create a list of those URLs, append health check endpoint to the URL when it exists
and check we've got a HTTP 200 response.
For example we can document in the same document hound has /healthz health check endpoints:
docker_containers_monitoring: check_http_200: hound: /healthz
By combining those two information, we know than on docker-001, we can check http://localhost:44080/healthz.
Plan is to provide such pillar configuration and a NRPE check able to read those.