[英]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.