Habilitando o plugin prometheus-exporter com a instância Docker do Discourse

Olá,

Tenho uma instância do Discourse rodando em um contêiner Docker com o prometheus-exporter instalado. Estamos usando bundle exec rails server -b 0.0.0.0 para iniciar o servidor rails (usar /bin/unicorn/ dá o mesmo erro) e especificamos o mapeamento de porta 9045:9045 e expusemos a porta 9045.

Os logs de erro do puma mostram os seguintes erros:

Prometheus Exporter, failed to send message Cannot assign requested address - connect(2) for "localhost" port 9405
2022-08-09 22:48:25 +0000 Rack app ("GET /metrics" - (172.22.0.1)): #<Errno::EADDRNOTAVAIL: Failed to open TCP connection to localhost:9405 (Cannot assign requested address - connect(2) for "localhost" port 9405)>

Existe algo especial que o Discourse normalmente faz com o puma para garantir que o prometheus-exporter possa abrir uma conexão TCP na porta 9405?

Se você instalar o Discourse seguindo o guia de instalação oficial, ele não usará o Puma, mas sim o Unicorn. Todos os nossos plugins e temas assumem uma instalação que segue a instalação oficial.