We have conftool-data in puppet, which controls which hosts service the backend for each service.
However, whether a host is pooled, depooled, or inactive is not stored in puppet, but in Etcd
Similarly the weight of a particular host in support of a service is recorded in Etcd and not puppet.
It would be useful to have these service status values from Etcd refelcted in Prometheus, so that we could for example exclude hosts that have been depooled from alertmanager rules.
We have a recommended mechanism for achieving this, which is the mini_textfile_exporter.
By using a confd file template with the service catalog we will be able to write a file to each prometheus server that contains a list of each service, along with its member hosts and their status values. This file will be updated in realtime as a result of confctl commands and will be read by the prometheus mini-textfile-exporter.