无法使用docker加载prometheus.yml配置文件(prom/prometheus)

c3frrgcw  于 2023-03-22  发布在  Docker
关注(0)|答案(4)|浏览(353)

我正在尝试使用以下自定义conf文件加载带有docker的prometheus:**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”:无法加载配置(--config.file="/prometheus-data/prometheus.yml”):打开/prometheus-data/prometheus.yml:没有这样的文件或目录”
我遵循以下指南:

如何正确加载此文件?

dfuffjeb

dfuffjeb1#

“文件已经存在”,你的意思是该文件在你的主机上的/prometheus-data/prometheus.yml?如果是这样,那么你需要将它绑定挂载到你的容器中,以便Prometheus可以访问它。

sudo docker run -p 9090:9090 -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

它包含在文档的卷和绑定装载中。

pcww981p

pcww981p2#

我正在使用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
g2ieeal7

g2ieeal73#

你需要在你的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**文件

aurhwmvo

aurhwmvo4#

我做了同样的事情,当把整个路径像整个路径:

sudo docker run -p 9090:9090 -v User/inner-directories.../prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml

当你使用卷时,你必须把路径注册在docker配置资源上

相关问题