Logstash没有运行

时间:2016-05-05 14:42:32

标签: logstash

我有一个logstash实例,版本2.3.1没有使用命令

运行
sudo service logstash start

每当我运行此命令时,它都会返回logstash started,过了一会儿,当我检查状态时,我发现logstash没有运行。虽然,当我从opt启动logstash以在终端上获得输出时,它运行时没有任何错误。

请注意,logstash.errlogstash.stdout文件为空,logstash.log文件无处可寻。我还在LS_GROUP中将adm设置为init.d,这导致了另一个实例上的相同问题,但即使这样现在似乎也不起作用。任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

在Ubuntu系统上,logstash可以看到此行为。要解决此问题,您可以将/etc/init.d/logstash中的logstash用户组更改为代表管理员的adm,您就可以了。

答案 1 :(得分:0)

这是Logstash的正常行为。 你可以测试你的Logstash实例是否正常工作吗?

视窗: 转到logstash的bin文件夹 并输入logstash

Linux中: 在提示符(logstash实例的bin文件夹)中输入此命令 的/ opt / logstash / bin中/ logstash

这两种: 如果您没有给出命令...您的logstash实例具有正确的设置。

您始终可以使用此命令运行Logstash实例

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

在此之后,您可以输入一些文本值,然后输出到您的控制台。

如果一切正常,您可以确保Logstash实例正常运行。

你可能会问自己这是为什么?这是因为Logstash等待启动,直到它获得运行配置或其他选项。

如果要在启动时自动启动Logstash。您需要使用此命令。

sudo update-rc.d logstash defaults 96 9

答案 2 :(得分:0)

实际上,您应该阅读logstash的指南。在"入门部分"中,官方文档具有启动Logstash工作的正确方法。 首先,您应该编写一个配置文件,例如" std.conf",如下所示:

input {
  stdin {
  }
}
output{
  stdout{
  codec=>rubydebug
  }
}

然后,开始您的logstash:

bin/logstash -f conf/std.conf 

如果您希望此工作可以在后台运行(例如将一些日志文件放入elasticsearch),您可能还需要添加"&"在命令的最后,像这样:

bin/logstash -f conf/getlog.conf &

使用此文件(std.conf)和此命令,您的logstash将启动,如果您在终端中键入任何单词,它将在终端中打印出来,如下所示:

{
   "message" => "hello",
  "@version" => "1",
"@timestamp" => "2016-08-06T19:47:36.543Z",
      "host" => "bag"
}

现在,您已经获得了logstah的正常操作,您可能需要更多信息,从那里:The official documentation of logstash

试试这个,继续前进,对你来说很容易〜