You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Logstash命令遇sourceloader配置未找到错误,求解决

解决Logstash "No configuration found in the configured sources" 错误

我之前碰到过好几次这个问题,大概率是配置文件的路径、语法完整性或者权限出了问题,给你几个排查方向:

1. 确认配置文件路径是否正确

你用的是相对路径logstash.conf,首先得确保你当前的工作目录就是这个文件所在的位置。可以试试两种方式:

  • 用绝对路径指定配置文件,比如:
    sudo bin/logstash -f /home/your-user/logstash.conf
    
  • 先切换到配置文件所在目录再运行命令:
    cd /path/to/config-file-directory
    sudo bin/logstash -f logstash.conf
    

另外别忘了检查文件名有没有拼写错误,比如是不是不小心存成了logstash.conf.txt(隐藏扩展名的坑)。

2. 确保配置文件语法完整且正确

从你贴的配置片段来看,input块明显没写完——Logstash的配置必须包含完整的input、output块(filter可选),而且所有大括号都要配对闭合。比如你至少需要补全成这样的最简配置:

input {
  file {
    type => "rails logs"
    path => "/var/log/rails/production.log" # 这里要替换成你的实际日志路径
  }
}

output {
  stdout { codec => rubydebug } # 先输出到控制台测试
}

然后用Logstash自带的语法检测命令验证:

sudo bin/logstash -f logstash.conf --config.test_and_exit

如果语法有问题,这个命令会直接告诉你哪里错了,比直接运行报错更清晰。

3. 检查配置文件的权限

虽然你用了sudo,但Logstash实际运行时可能用的是logstash系统用户,这个用户需要有读取配置文件的权限。可以:

  • 把配置文件复制到Logstash默认的配置目录(比如/etc/logstash/conf.d/),然后用目录加载:
    sudo bin/logstash -f /etc/logstash/conf.d/
    
  • 或者修改配置文件的权限,让其他用户能读取:
    chmod 644 logstash.conf
    

4. 检查Logstash主配置的路径覆盖

如果之前修改过logstash.yml(通常在/etc/logstash/目录下)里的path.config参数,这个参数会指定默认的配置加载路径,可能会覆盖你命令行里的-f选项。打开logstash.yml看看有没有这个配置,如果有的话,要么把你的logstash.conf放到指定路径里,要么注释掉这个参数再用命令行指定。

内容的提问来源于stack exchange,提问作者Nonsense

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:55:51