如何解决普罗米修斯配置错误:文件服务发现配置必须至少包含一个路径名



我一直在为此苦苦挣扎。我正在尝试在我的 prometheus.yml 文件中配置一个file_sd_configs部分。这是相关部分:

scrape_configs:
  - job_name: ct_agents
    file_sd_configs:
      - files:
        - agent_configs/agents.json

启动时,我收到此错误:

time="2019-02-07T16:15:21Z" level=error msg="Couldn't load configuration (-config.file=/etc/prometheus/prometheus.yml): file service discovery config must contain at least one path name" source="main.go:208"

我根据在其他地方找到的例子尝试了各种东西。我尝试将路径放在单引号中,例如一个例子。我尝试了完整的路径。我最初有一个通配符和一个空目录,希望普罗米修斯能找到可能动态的文件列表。

我已经多次检查间距。文件中没有选项卡(编辑 .yml 文件时最常见的问题(。

文件本身存在,尽管当前只是一个空数组(在 JSON 中(。

我很确定这是愚蠢的事情。

好的,多亏了奥利弗的问题,我们确定我运行的是旧版本的普罗米修斯(与 apt-get install prometheus 一起安装(。安装现代版本很痛苦,但一旦我再次配置它,它就解决了问题。

所以 - 如果有人在遇到同样的错误时遇到问题,请检查日志以查看您的普罗米修斯二进制文件的年龄。截至 2019 年 2 月,如果您在 Docker Ubuntu 实例上使用 apt-get 进行安装,您将获得一个非常非常旧的 Prometheus 副本。

错误消息

中很好地描述了该错误:

文件服务发现配置必须至少包含一个路径名

因此,这意味着您的 json 文件应该至少有一个目标

  [
    {
      "targets": 
      "example.com"
      ],
    }
  ]

相关内容

最新更新