Logstash 不是 运行
Logstash not running
我有一个 logstash 实例,版本 2.3.1,运行ning 使用命令
sudo service logstash start
每当我 运行 这个命令时,它 returns logstash started
片刻后,当我检查状态时,我发现 logstash 不是 运行ning .虽然,当我从 opt
启动 logstash 以在终端上获取输出时,它 运行s 没有任何错误。
请注意,logstash.err
和 logstash.stdout
文件是空的,并且找不到 logstash.log
文件。我还在 init.d
中将 LS_GROUP
设置为 adm
,这在另一个实例上引起了同样的问题,但即使这样现在似乎也不起作用。如有任何帮助,我们将不胜感激!
这是 Logstash 的正常行为。
您能测试一下您的 Logstash 实例是否正常工作吗?
Windows:
转到 logstash 的 bin 文件夹
并输入 logstash
Linux:
在提示符中输入此命令(logstash 实例的 bin 文件夹)
/opt/logstash/bin/logstash
两者:
如果您收到 No command given ... 您的 logstash 实例设置正确。
您始终可以使用此命令运行您的 Logstash 实例
logstash -e 'input { stdin { } } output { stdout {} }'
在此之后您可以输入一些文本值,它们将输出到您的控制台。
如果这一切正常,您可以确定您的 Logstash 实例 运行 正确。
您可能会问自己这是为什么?这是因为 Logstash 会等待启动,直到它使用 运行 或其他选项获得配置。
如果你想在启动时自动启动 Logstash。您需要使用此命令。
sudo update-rc.d logstash defaults 96 9
实际上,您应该阅读 logstash.In 和 "getting started section" 的指南,官方文档有正确的方法让您开始 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
试试这个,然后继续,对你来说很简单~
在 Ubuntu 系统上,logstash 可以看到此行为。要绕过它,您可以将 /etc/init.d/logstash
中的 logstash 用户组更改为 adm
,它代表管理员,您就可以开始了。
我有一个 logstash 实例,版本 2.3.1,运行ning 使用命令
sudo service logstash start
每当我 运行 这个命令时,它 returns logstash started
片刻后,当我检查状态时,我发现 logstash 不是 运行ning .虽然,当我从 opt
启动 logstash 以在终端上获取输出时,它 运行s 没有任何错误。
请注意,logstash.err
和 logstash.stdout
文件是空的,并且找不到 logstash.log
文件。我还在 init.d
中将 LS_GROUP
设置为 adm
,这在另一个实例上引起了同样的问题,但即使这样现在似乎也不起作用。如有任何帮助,我们将不胜感激!
这是 Logstash 的正常行为。 您能测试一下您的 Logstash 实例是否正常工作吗?
Windows: 转到 logstash 的 bin 文件夹 并输入 logstash
Linux: 在提示符中输入此命令(logstash 实例的 bin 文件夹) /opt/logstash/bin/logstash
两者: 如果您收到 No command given ... 您的 logstash 实例设置正确。
您始终可以使用此命令运行您的 Logstash 实例
logstash -e 'input { stdin { } } output { stdout {} }'
在此之后您可以输入一些文本值,它们将输出到您的控制台。
如果这一切正常,您可以确定您的 Logstash 实例 运行 正确。
您可能会问自己这是为什么?这是因为 Logstash 会等待启动,直到它使用 运行 或其他选项获得配置。
如果你想在启动时自动启动 Logstash。您需要使用此命令。
sudo update-rc.d logstash defaults 96 9
实际上,您应该阅读 logstash.In 和 "getting started section" 的指南,官方文档有正确的方法让您开始 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
试试这个,然后继续,对你来说很简单~
在 Ubuntu 系统上,logstash 可以看到此行为。要绕过它,您可以将 /etc/init.d/logstash
中的 logstash 用户组更改为 adm
,它代表管理员,您就可以开始了。