Descoberta do serviço de DNS do Prometheus no docker swarm
Estou procurando algumas soluções de monitor e alerta para meus serviços. Encontrei bons trabalhos relacionados a seguir.
Monitoramento do Prometheus para enxame de dockerMonitorando um cluster enxame de docker com PrometheusAmbos os trabalhos usam a descoberta de serviço DNS para monitorar várias réplicas de serviços.
Tentei reproduzir esses trabalhos, mas descobri que só posso obter um único IP de contêiner de back-end.
# dig A node-exporter
; <<>> DiG 9.10.4-P8 <<>> A node-exporter
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18749
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;node-exporter. IN A
;; ANSWER SECTION:
node-exporter. 600 IN A 10.0.0.42
;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Mon Jan 29 02:57:51 UTC 2018
;; MSG SIZE rcvd: 60
Ao inspecionar o serviço, descobri que o modo do nó de extremidade do exportador de nós é vip.
> docker inspect 242pn4obqsly
...
"Endpoint": {
"Spec": {
"Mode": "vip"
},
"VirtualIPs": [
{
"NetworkID": "61fn8hmgwg0n7rhg49ju2fdld",
"Addr": "10.0.0.3/24"
}
]
...
Isso significa que, quando o contato com o DNS, o prometheus pode obter apenas um único serviço de delegação de ip. Em seguida, a estratégia de libras internas encaminhará a solicitação de receita para diferentes instâncias de back-end.
Então, como os trabalhos relacionados foram bem-sucedidos?
Valeu!