2 回答

TA貢獻1828條經(jīng)驗 獲得超3個贊
您沒有配置prometheus容器|服務(wù)來使用prometheus.yml您定義的。
你想要這樣的東西:
prometheus:
restart: always
depends_on:
- gcp-exporter
image: prom/prometheus:latest
container_name: prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
# Permits `curl --request POST http://localhost:9090/-/reload`
- --web.enable-lifecycle
volumes:
- ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml
expose:
- "9090"
ports:
- 9090:9090
在此配置中,您運行docker-compose
( ${PWD}
) 的文件夾還包含${PWD}/prometheus.yml
.
YAML 指定:
配置文件(使用
--config-file
)位于容器中的(默認?)位置/etc/prometheus/prometheus.yml
。這一行是多余的,但有助于文檔。主機的
prometheus.yml
(in${PWD}
)被映射到容器的/etc/prometheus.prometheus.yml
(匹配上面的配置)。如果您的文件夾結(jié)構(gòu)不同,請修改--volume={source}/prometheus.yml:/etc/prometheus/prometheus.yml
.
您可以通過檢查 Prometheus 服務(wù)器的目標(biāo)來驗證這一點,以確保它通過檢查進行抓取my_server:8080
:http://localhost:9090/targets
值得my_service
通過檢查以下內(nèi)容來確保正確發(fā)布指標(biāo):http://localhost:8080/metrics
注意從您的主機,
my_service
只能訪問,localhost:8080
但是,您在Docker Compose 網(wǎng)絡(luò)中prometheus.yml
正確地引用了它。my_service
我鼓勵您在引用容器時不要使用標(biāo)簽。具有誤導(dǎo)性。它可能不會引用最新的圖像,并且您幾乎無法控制正在使用的圖像。參見Understanding Docker's "latest" taglatest
latest

TA貢獻1860條經(jīng)驗 獲得超8個贊
所以我找到了。我必須使用容器名稱設(shè)置我的抓取配置。像這樣的
scrape_configs:
- job_name: my-service
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
static_configs:
- targets:
- 'prometheus:9090'
- 'my-service:8080'
將 Prometheus 卷修復(fù)到數(shù)據(jù)后,您將看到您的服務(wù)已啟動并正在運行http://localhost:9090/targets
- 2 回答
- 0 關(guān)注
- 213 瀏覽
添加回答
舉報