Docker compose 让普罗米修斯和Docker合作

Docker compose 让普罗米修斯和Docker合作,docker-compose,yaml,prometheus,Docker Compose,Yaml,Prometheus,我对普罗米修斯和多克是新手。我有一个带有docker compose.yml文件的项目结构,该文件设置了普罗米修斯和格拉法纳: /prometheus-grafana/prometheus/docker-compose.yml version: '3' services: prometheus: image: prom/prometheus:v2.21.0 ports: - 9000:9090 volumes: - ./prometheus:/etc/prometheus - promethe

我对普罗米修斯和多克是新手。我有一个带有
docker compose.yml
文件的项目结构,该文件设置了普罗米修斯和格拉法纳:
/prometheus-grafana/prometheus/docker-compose.yml

version: '3'

services:
prometheus:
image: prom/prometheus:v2.21.0
ports:
- 9000:9090
volumes:
- ./prometheus:/etc/prometheus
- prometheus-data:/prometheus
command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml

grafana:
image: grafana/grafana:$GRAFANA_VERSION
environment:
GF_SECURITY_ADMIN_USER: $GRAFANA_ADMIN_USER
GF_SECURITY_ADMIN_PASSWORD: $GRAFANA_ADMIN_PASSWORD
ports:
- 3000:3000
volumes:
- grafana-storage:/var/lib/grafana
depends_on:
- prometheus
networks:
- internal

networks:
internal:

volumes:
prometheus-data:
grafana-storage:
我刚刚在
/prometheus-grafana/prometheus/prometheus/prometheus.yml中添加了更多配置,如下所示,我添加的部分是最后3行:

global:
scrape_interval: 30s
scrape_timeout: 10s

rule_files:
- alert.yml

scrape_configs:
- job_name: services
metrics_path: /metrics
static_configs:
- targets:
- 'prometheus:9090'
- 'idonotexists:564'
- job_name: myapp
scrape_interval: 10s
static_configs:
- targets:
- localhost:2112
我通过运行:
docker compose up-d
启动了普罗米修斯,我在
http://localhost:9000/graph
但是我没有看到我添加到
prometheus.yml
的新配置,在
docker compose.yml
文件中,有一行:

command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
我是否也应该更改此引用我的另一个
/prometheus grafana/prometheus/prometheus/prometheus.yml
的路径,而不是从
/etc/prometheus/prometheus.yml
,因为实际上,此文件不存在
/etc/prometheus/prometheus.yml

version: '3'

services:
prometheus:
image: prom/prometheus:v2.21.0
ports:
- 9000:9090
volumes:
- ./prometheus:/etc/prometheus
- prometheus-data:/prometheus
command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml

grafana:
image: grafana/grafana:$GRAFANA_VERSION
environment:
GF_SECURITY_ADMIN_USER: $GRAFANA_ADMIN_USER
GF_SECURITY_ADMIN_PASSWORD: $GRAFANA_ADMIN_PASSWORD
ports:
- 3000:3000
volumes:
- grafana-storage:/var/lib/grafana
depends_on:
- prometheus
networks:
- internal

networks:
internal:

volumes:
prometheus-data:
grafana-storage:

提前感谢您。

如果您已将普罗米修斯配置为
--config.file=/etc/prometheus/prometheus.yml
它希望其配置文件正好位于此位置

由于您已经配置了以下装载点:

volumes:
- ./prometheus:/etc/prometheus
- prometheus-data:/prometheus

您只需将配置文件放入
/prometheus
中,并将其命名为
prometheus.yml

谢谢,事实上,我登录到我的docker容器并检查其中的prometheus.yml,它是正确的文件。所以,我的普罗米修斯已经开始工作了。
version: '3'

services:
prometheus:
image: prom/prometheus:v2.21.0
ports:
- 9000:9090
volumes:
- ./prometheus:/etc/prometheus
- prometheus-data:/prometheus
command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml

grafana:
image: grafana/grafana:$GRAFANA_VERSION
environment:
GF_SECURITY_ADMIN_USER: $GRAFANA_ADMIN_USER
GF_SECURITY_ADMIN_PASSWORD: $GRAFANA_ADMIN_PASSWORD
ports:
- 3000:3000
volumes:
- grafana-storage:/var/lib/grafana
depends_on:
- prometheus
networks:
- internal

networks:
internal:

volumes:
prometheus-data:
grafana-storage: