Page MenuHomeDevCentral

Monitor HTTP back-end from Docker containers
Open, NormalPublic

Description

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:

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.

Event Timeline

Deployed, but we need to actually run the check. A Sensu agent to run the NRPE checks from platform-checks package and collect result is probably the straightforward option.

[ Those tasks have been identified as suitable for the next operations sprint. ]