2017-06-10 90 views
0

以下错误消息是从教程测试指令:我无法在我的机器上启动logstash。内部

./logstash -e 'input { stdin { } } output { stdout {} }' 

以下是错误。

WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults 
Could not find log4j2 configuration at path //usr/share/logstash/config/log4j2.properties. Using default config which logs to console 
01:55:14.242 [main] FATAL logstash.runner - An unexpected error occurred! {:error=>#<ArgumentError: Path "/usr/share/logstash/data" must be a writable directory. It is not writable.>, :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/settings.rb:433:in `validate'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:216:in `validate_value'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:132:in `validate_all'", "org/jruby/RubyHash.java:1342:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:131:in `validate_all'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:217:in `execute'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:185:in `run'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/share/logstash/lib/bootstrap/environment.rb:71:in `(root)'"]} 

至于那说,错误消息部分:

Path "/usr/share/logstash/data" must be a writable directory. It is not writable. 

目录是拥有和可写的logstash。

任何人都可以提出任何解决方案吗?

回答

1

您必须以sudo模式启动logstash。也就是说

[email protected]:~$ sudo su 
[email protected]:/home/host# cd /usr/share/logstash 
[email protected]:/usr/share/logstash# ./bin/logstash -e 'input { stdin { } } output { stdout {} }' 
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults 
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs to console 
16:18:33.959 [[main]-pipeline-manager] INFO logstash.pipeline - Starting pipeline {"id"=>"main", "pipeline.workers"=>8, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>1000} 
16:18:33.996 [[main]-pipeline-manager] INFO logstash.pipeline - Pipeline main started 
The stdin plugin is now waiting for input: 
16:18:34.019 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9600} 
Hello 
2017-06-10T15:18:43.457Z host Hello 
0

异常消息告诉你,logstash找不到配置属性,所以你应该在命令中添加一个标志,告诉logstash配置property.and另一个例外是logstash不能写东西到/ usr/share/logstash/data,您应该使用'sudo'来启动此命令,或者您可以将/ usr/share/logstash/data的写入权限添加到您的帐户。

logstash版本:5.5.2

OS版本:Ubuntu的16.04

开始logstash作为流量命令:

sudo bin/logstash -e 'input { stdin { } } output { stdout {} }' --path.settings=/etc/logstash 

PS:我通过易于安装logstash安装the document of install logstash

0

你的意思是将它作为logstash用户运行,而不是root或任何其他用户 - 这就是为什么它拥有logstash用户。所以,请使用以下代替:

sudo -Hu logstash /usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }' 

如果这里的主要部分正在运行的命令,logstash用户:

sudo -Hu logstash <command you want to run> 
相关问题