无法使用 docker (prom/prometheus) 加载 prometheus.yml 配置文件
Posted
技术标签:
【中文标题】无法使用 docker (prom/prometheus) 加载 prometheus.yml 配置文件【英文标题】:Can't load prometheus.yml config file with docker (prom/prometheus) 【发布时间】:2019-03-02 13:53:39 【问题描述】:我正在尝试使用以下自定义 conf 文件通过 docker 加载 prometheus:danilo@machine:/prometheus-data/prometheus.yml:
全球的: scrape_interval: 15s # 默认情况下,每 15 秒抓取一次目标。# 在与通信时将这些标签附加到任何时间序列或警报上 # 外部系统(联合、远程存储、Alertmanager)。 外部标签: 监视器:'codelab-monitor'
# 一种抓取配置,只包含一个要抓取的端点:
# 这里是普罗米修斯本身。
scrape_configs:
# 作业名称作为标签job=<job_name>
添加到从此配置中抓取的任何时间序列中。
- job_name: '普罗米修斯'
# 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- 数据/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: 没有这样的文件或目录"
我正在遵循本指南:
https://prometheus.io/docs/prometheus/latest/installation/如何才能正确加载此文件?
【问题讨论】:
【参考方案1】:“文件已存在”是指该文件在您的主机上/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 对此进行了介绍。
【讨论】:
【参考方案2】:我正在使用 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 (prom/prometheus) 加载 prometheus.yml 配置文件的主要内容,如果未能解决你的问题,请参考以下文章
Docker - 无法使用 docker buildx 构建多平台映像