我有一个用单个管道定义的非常简单的pipelines.yml文件。看起来像这样:
- pipeline.id: testPipe1
path.config: "/tmp/test.conf"
pipeline.workers: 1
启动logstash时,出现以下错误:
错误:无法读取管道yaml文件。位置[文件路径] .pipelines.yml
,其中“文件路径”是yaml文件的有效路径。
test.conf的内容是:
input { stdin {} } output { stout {codec => rubydebug} }
当我注释掉path.config行并使用时:
config.string: input { stdin {} } output { stout {codec => rubydebug} }
,然后logstash创建管道并正常启动。
这是怎么回事?感谢您提供任何见解。谢谢
答案 0 :(得分:1)
要注意的一件事是(具有.conf)扩展名的管道被视为 config 。扩展名(带有.yml)的设置是您的设置。我将它们分为两个不同的目录,然后在命令行中运行。
./bin/logstash --path.settings /path_to_your_yml_settings_dir --path.config=/path_to_your_conf_pipelines
答案 1 :(得分:0)
您的pipelines.yml文件应放置在“ --path.settings”处,该文件将在启动logstash进程时在命令行上传递。像这样:
./bin/logstash --path.settings /path_to_your_settings_dir_containing_your_configs_and_pipelines.yml