簡體   English   中英

無法使用 Prometheus 捕獲客戶端指標

[英]Cannot capture client metrics with Prometheus

我有一個新手問題。

我正在使用dockprom (github.com/stefanprodan/dockprom) 從docker-compose 成功捕獲指標。

現在我正在嘗試使用 golang 的 Prometheus 客戶端庫監控我的應用程序中的特定指標,但 Prometheus 將我的端點顯示為關閉 (0),並在目標部分顯示消息,

Get http://localhost:8090/metrics: dial tcp 127.0.0.1:8090: connect: connection refused

但是,如果我導航到http://localhost:8090/metrics,我可以看到公開的指標。

Prometheus 在一組 docker-compose 容器中運行,而我的應用程序在另一個容器中運行。

我在 prometheus/prometheus.yml 中的端點聲明是:

job_name: 'cloud_server_auth'

scrape_interval: 10s

static_configs:

targets: ['localhost:8090']

我注意到 cAdvisor 在不在特權模式下運行時失敗,但即使修復了這個問題,我仍然無法讓普羅米修斯使用我的指標。

有什么想法嗎?

在此先感謝任何可能對此問題有所了解的人,如果您需要更多信息,請告訴我。 阿道夫

如果您在 Docker 容器中運行 Prometheus,那么當 Prometheus 調用其他地方以收集指標時, localhost會相對於 Prometheus 容器進行解釋,也就是說,Prometheus 正在嘗試從自身收集指標。

如果這都在同一個docker-compose.yml文件中運行,那么您可以在配置指標目標時使用 Docker Compose services:其他容器的名稱作為主機名。 目標容器不一定需要已發布的ports: ,並且您需要使用容器內進程正在運行的端口號 – 如果您的ports:將容器端口重新映射到不同的主機端口,請使用第二個(容器) 端口號,而不是第一個(主機)。

這與同一docker-compose.yml文件中的其他服務到服務調用的設置相同。 Compose中的網絡有更多關於容器網絡環境的細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM