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

时间:2019-02-07 16:25:44

标签: prometheus

我一直在为此苦苦挣扎。我正在尝试在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"

根据我在其他地方找到的示例,我尝试了各种方法。我尝试将路径放在一个引号中,例如一个例子。我尝试了全路径。我最初有一个通配符和一个空目录,希望Prometheus可以找到可能是动态的文件列表。

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

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

我很确定这很愚蠢。

2 个答案:

答案 0 :(得分:1)

错误消息中对错误的详细描述:

  

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

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

public class Main2Activity extends AppCompatActivity {


private TextView textTest;
int id = getIntent().getExtras().getInt("position");



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    String position = String.valueOf(id);

    textTest = findViewById(R.id.text_test);

    textTest.setText(position);

}

答案 1 :(得分:1)

好的,感谢奥利弗(Oliver)的问题,我们确定我正在运行旧版本的Prometheus(已安装apt-get install prometheus)。安装现代版本很麻烦,但是一旦我再次对其进行配置,它就解决了问题。

所以-如果有人在使它工作时遇到相同的错误,请检查日志以查看Prometheus二进制文件的年龄。从2019年2月开始,如果在Docker Ubuntu实例上使用apt-get进行安装,则会获得非常老的Prometheus副本。