2017-09-28 14:48:58 good Start of the monitoring project For every services we want to monitor, we generate a Unix socket file in /var/run/tests. This is done by trli-manager. It also generates blackhole rules connecting these sockets to actual services. The sockets looks like this: !letter-service_name-server.sock . The trli-mon scans the directory and opens each sockets one by one. The service name encoded in the socket path tells trli-mon which API to use (build-protocol) to contact the service. Most service have a companion utility used to control the daemon. It can also retrieve the status of the service. Those companion utilities connect with the service using Unix socket. But with blackhole, all this is now within reach, even if the services are running on a distant servers. The monitoring daemon, trli-mon, is testing all the services every 30 seconds. At some point, it will interact with blackhole load balancer, setting the weight to 0, to disconnect one service in case of failure.