Logstash 日志存储:文件输入不工作

Logstash 日志存储:文件输入不工作,logstash,Logstash,我正在尝试运行示例,例如,在CDH4.4中使用logstash-1.4.2。每当我使用文件输入而不是标准输入时,窗口会在以下消息处冻结: 使用里程碑2插件“文件”。这个插件应该是稳定的,但是如果 你看到奇怪的行为,请让我们知道!更多 信息。。。。。 我的代码如下所示: 命令-bin/logstash-f logstash-apache.conf 我已尝试删除$HOME中以前的所有sincedb文件。目录并重新运行logstash,但这似乎也不起作用。我遗漏了什么吗?您是否使用root权限运行?看

我正在尝试运行示例,例如,在CDH4.4中使用logstash-1.4.2。每当我使用文件输入而不是标准输入时,窗口会在以下消息处冻结:

使用里程碑2插件“文件”。这个插件应该是稳定的,但是如果 你看到奇怪的行为,请让我们知道!更多 信息。。。。。 我的代码如下所示:

命令-bin/logstash-f logstash-apache.conf


我已尝试删除$HOME中以前的所有sincedb文件。目录并重新运行logstash,但这似乎也不起作用。我遗漏了什么吗?

您是否使用root权限运行?看起来/logs/output\u log需要root权限才能写入


我使用logstash 1.4.1(和sudo)在本地尝试了您的配置,它似乎工作正常。

您可以尝试下面的配置吗。这对我有用

path => "/tmp/access_log/*"
而不是

path => "/tmp/access_log"

我被卡住了,因为logstash跟踪它已经读取的日志:

请记住,此选项仅修改“首次接触”的情况,即文件是新的,以前从未见过。如果以前已看到文件,则此选项无效。否则,必须将sincedb_路径设置为/dev/null


将sincedb_path设置为/dev/null,将阻止它跟踪上次读取的文件中的位置。

如果输入文件中只有一行, 您应该在末尾添加一个空行! 那应该行

编辑: 如果您在windows计算机上,则需要编写如下绝对路径

"c:/dev/access-log.txt"

注意在c:

之后使用一个/而不是//不确定您期望的是什么,但是您不应该在窗口中看到此配置的任何其他内容-您的输出将进入一个文件,没有指向stdout的输出。您的输出日志中是否显示了任何内容?它在输出日志中没有显示任何内容。我也尝试过使用标准输出,但它也不起作用。您可以将“/tmp/access\u log”中的前几行添加到问题中吗?71.141.244.242-kurt[18/May/2011:01:48:10-0700]“GET/admin HTTP/1.1”301 566“-”Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.9.2.3)Gecko/20100401 Firefox/3.6.3“134.39.72.245--[18/May/2011:12:40:18-0700]“GET/favicon.ico HTTP/1.1”200 1189“-”Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;.NET CLR 2.0.50727;.NET CLR 3.0.4506.2152;.NET CLR 3.5.3072;.NETCLR 3.5.3072;.0C;.NET4.0CE你要等待多长时间才能让它同时写入标准输出和文件?Logstash需要一段时间才能正常启动,启动时非常安静。此外,如果文件很小,它可能无法正确刷新到输出,直到Logstash终止。尝试过了,没有工作。插件有问题吗?文件插件已经存在,或者我需要安装sa吗me?您可以应用上面的方法并删除现有的sincedb文件。如果确定命令行已冻结,请尝试在命令行中键入一些内容。要确定真正的问题,可能需要删除筛选器并尝试上面的解决方案。对于调试,请在输出中添加标准输出。这样您就可以知道输入是否已处理。stdout{codec=>rubydebug}它在结尾的空行中确实有效。我不相信:)
"c:/dev/access-log.txt"