无法使用 docker (prom/prometheus) 加载 prometheus.yml 配置文件
Can't load prometheus.yml config file with docker (prom/prometheus)
我正在尝试使用以下自定义 conf 文件通过 docker 加载普罗米修斯:danilo@machine:/prometheus-data/prometheus.yml :
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'codelab-monitor'
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- targets: ['localhost:8083', 'localhost:8080']
labels: my_app
group: 'my_app_group'
使用以下命令:
$ sudo docker run -p 9090:9090 prom/prometheus --config.file=/prometheus-
data/prometheus.yml
文件已经存在。但是,我收到以下消息:
level=error ts=2018-09-26T17:45:00.586704798Z caller=main.go:617 err="error loading config from "/prometheus-data/prometheus.yml": couldn't load configuration (--config.file="/prometheus-data/prometheus.yml"): open /prometheus-data/prometheus.yml: no such file or directory"
我正在遵循此指南:
如何才能正确加载此文件?
“文件已经存在”是指该文件位于 /prometheus-data/prometheus.yml
的主机上吗?如果是这样,那么您需要将其绑定安装到您的容器中,以便 Prometheus 可以访问它。
sudo docker run -p 9090:9090 -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
它在文档的 Volumes & bind-mount 下进行了介绍。
我正在使用 docker-compose.yaml,我也遇到了同样的问题。我必须按如下方式设置音量详细信息。
prometheus:
image: prom/prometheus:v2.26.0
user: root
ports:
- 9090:9090
volumes:
- /apps/prometheus/configs/prometheus.yaml:/etc/prometheus/prometheus.yaml
- /data/prometheus:/prometheus
command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
您需要在 docker 上安装卷。 @Udara 的解决方案很好,但命令出错。
sudo docker run -p 9090:9090 -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
别忘了在文件夹/prometheus-data
下添加prometheus.yml文件
我正在尝试使用以下自定义 conf 文件通过 docker 加载普罗米修斯:danilo@machine:/prometheus-data/prometheus.yml :
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'codelab-monitor'
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- targets: ['localhost:8083', 'localhost:8080']
labels: my_app
group: 'my_app_group'
使用以下命令:
$ sudo docker run -p 9090:9090 prom/prometheus --config.file=/prometheus-
data/prometheus.yml
文件已经存在。但是,我收到以下消息:
level=error ts=2018-09-26T17:45:00.586704798Z caller=main.go:617 err="error loading config from "/prometheus-data/prometheus.yml": couldn't load configuration (--config.file="/prometheus-data/prometheus.yml"): open /prometheus-data/prometheus.yml: no such file or directory"
我正在遵循此指南:
如何才能正确加载此文件?
“文件已经存在”是指该文件位于 /prometheus-data/prometheus.yml
的主机上吗?如果是这样,那么您需要将其绑定安装到您的容器中,以便 Prometheus 可以访问它。
sudo docker run -p 9090:9090 -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
它在文档的 Volumes & bind-mount 下进行了介绍。
我正在使用 docker-compose.yaml,我也遇到了同样的问题。我必须按如下方式设置音量详细信息。
prometheus:
image: prom/prometheus:v2.26.0
user: root
ports:
- 9090:9090
volumes:
- /apps/prometheus/configs/prometheus.yaml:/etc/prometheus/prometheus.yaml
- /data/prometheus:/prometheus
command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
您需要在 docker 上安装卷。 @Udara 的解决方案很好,但命令出错。
sudo docker run -p 9090:9090 -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
别忘了在文件夹/prometheus-data
下添加prometheus.yml文件