Starting with docker-compose causes all the checks to fail to execute and the dashboard is just completely red (due to failed evaluations).

This is because the entities (example) are referring to localhost and these aren't reachable from the worker.
[16:19:39] user@machine:~/zmon/compose$ docker exec -it compose_worker_1 bash
root@9bc16fbd1363:/#
root@9bc16fbd1363:/# curl -k https://localhost:8443/health
curl: (7) Failed to connect to localhost port 8443: Connection refused
root@9bc16fbd1363:/#
root@9bc16fbd1363:/# curl -k https://controller:8443/health
{"timestamp":1537712390748,"status":404,"error":"Not Found","message":"Not Found","path":"/health"}
root@9bc16fbd1363:/#
root@9bc16fbd1363:/# exit
[16:20:00] user@machine:~/zmon/compose$
I think there are a couple of solutions here :
- Duplicate entities for docker compose and use services names instead of localhost (to preserve Vagrant stuff)
- Use host networking (might be insecure though)
Starting with docker-compose causes all the checks to fail to execute and the dashboard is just completely red (due to failed evaluations).

This is because the entities (example) are referring to localhost and these aren't reachable from the worker.
I think there are a couple of solutions here :