はい、Prometheus は同じ VM 上にあり、Docker コンテナとしてデプロイされています。すべて正常に動作していますが(他のエクスポーターもデプロイされています)、なぜか Discourse Prometheus プラグインは、明らかに稼働しているにもかかわらず、リクエストを受け付けていません。
ENV 変数について話しているとき、Discourse の app.yaml ファイル内の環境について話していますか?
では、このような感じでしょうか?
env:
DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX: 172.20.0.3
172.20.0.3 は、Discourse も接続されている Docker 仮想ネットワーク上の Prometheus の現在の内部 IP です。
コンテナが互いにアクセスする場合、内部 IP を介してアクセスするため、すべてのコンテナが共有している外部 IP(VM の静的 IP)を使用することも試しましたが、同じネットワーク上にあるため、内部 IP を介してアクセスします。
./launcher restart app で環境変数が認識されるはずですよね?
その場合、以下のようになります。
Get "http://vmi1187507-app:80/metrics": dial tcp: lookup vmi1187507-app on 127.0.0.11:53: server misbehaving
vmi1187507-app は、そのネットワーク内のコンテナネットワーク名です。名前は正しく、Prometheus コンテナから ping できることを確認しました。
正直なところ、127.0.0.11:53 がどこから来ているのか全く分かりません ![]()
環境変数をコメントアウトしても、メッセージは同じです。
