我一直在为此苦苦挣扎。我正在尝试在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中)。
我很确定这很愚蠢。
答案 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副本。