Logstash Can';不要将日志存储作为服务运行

Logstash Can';不要将日志存储作为服务运行,logstash,Logstash,我有以下logstash.config文件: input { file { path => "/home/username/log-stream-test.log" start_position => "beginning" sincedb_path => "/dev/null" } } output { file { path => "/tmp/log-stream-output.l

我有以下logstash.config文件:

input {
    file {
        path => "/home/username/log-stream-test.log"
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}
output {
    file {
        path => "/tmp/log-stream-output.log"
    }
}
我可以运行logstash强制配置文件(它将创建输出文件/tmp/log stream output.log): /opt/bin/logstash-f/etc/logstash/conf.d/logstash.config

但是当我尝试运行logstash as service(sudo service logstash start)时,它不起作用(没有创建输出文件)。当我跟踪/var/log/logstash/(启用--debug选项)时,会收到如下消息:

{:timestamp=>"2016-09-27T19:05:03.898000+0000", :message=>"Reading config file", :config_file=>"/etc/logstash/conf.d/logstash.config", :level=>:debug, :file=>"logstash/config/loader.rb", :line=>"69", :method=>"local_config"}
{:timestamp=>"2016-09-27T19:05:04.026000+0000", :message=>"Plugin not defined in namespace, checking for plugin file", :type=>"input", :name=>"file", :path=>"logstash/inputs/file", :level=>:debug, :file=>"logstash/plugin.rb", :line=>"86", :method=>"lookup"}

我错过什么了吗?如何使用此配置文件运行logstash as服务?

这几乎肯定是一个权限问题。当手动运行logstash时,您以用户身份运行它;当作为服务运行时,它以logstash用户身份运行

测试您是否有权访问您的文件:

sudo -u logstash /bin/bash
这将以logstash用户的身份将您登录到shell中。尽量减少你试图读取的文件

如果您有访问权限,则需要检查sincedb文件(将路径设置为/dev/null)并重新启动,请参阅:

如果您没有访问权限,请将文件移动到他们有访问权限的地方。或向日志存储用户/组授予读取权限

问候,


Artur

这几乎肯定是一个权限问题。当手动运行logstash时,您以用户身份运行它;当作为服务运行时,它以logstash用户身份运行

测试您是否有权访问您的文件:

sudo -u logstash /bin/bash
这将以logstash用户的身份将您登录到shell中。尽量减少你试图读取的文件

如果您有访问权限,则需要检查sincedb文件(将路径设置为/dev/null)并重新启动,请参阅:

如果您没有访问权限,请将文件移动到他们有访问权限的地方。或向日志存储用户/组授予读取权限

问候,


Artur

这些日志是调试日志,而不是错误日志,那又怎样,让你认为它不起作用了?调试日志是日志的最低级别,带有与应用程序正常使用无关的消息。如果你已经用Logstash读取了日志文件,并且此后该文件没有更新,Logstash将没有任何内容可读取,因为它记住了它停止的位置(cf)。它不工作,因为输出文件没有创建。现在我强迫它读《乞讨者》;还有,我编辑了这篇文章。这些日志是调试日志,而不是错误日志,那又怎样,让你觉得它不起作用了?调试日志是日志的最低级别,带有与应用程序正常使用无关的消息。如果你已经用Logstash读取了日志文件,并且此后该文件没有更新,Logstash将没有任何内容可读取,因为它记住了它停止的位置(cf)。它不工作,因为输出文件没有创建。现在我强迫它读《乞讨者》;还有,我编辑了这篇文章。没错!我的文件/home/username/log-stream-test.log对每个人都有读取权限,但子目录/home/username/仅对所有者(username)有权限。谢谢这是正确的!我的文件/home/username/log-stream-test.log对每个人都有读取权限,但子目录/home/username/仅对所有者(username)有权限。谢谢