运行多个实例时无法启动 logstash - 路径.数据设置



嗨,我是 ELK 堆栈内部的新手

在后台运行一个 logstash 进程,当它被拾取匹配的文件模式时,它说如下

我想在这里了解path.data选项的重要性,请帮助我

[FATAL][logstash.runner] Logstash could not be started because there is already another instance using the configured data directory. If you wish to run multiple instances, you must change the "path.data" setting.

Logstash及其插件将path.data目录用于存储数据的任何持久需求,并且对于您正在运行的每个实例都需要不同,因为 Logstash 不允许多个实例共享同一个path.data

默认情况下,它的值设置为LOGSTASH_HOME/data,在 debian 和 rpm 下是/usr/share/logstash/data的,除非明确指定,否则它会自动分配给第一个 logstash 实例。

如果要运行多个 logstash 实例,则需要通过命令定义path.data

bin/logstash -f <config_file.conf> --path.data PATH

(确保目录是可写的(

或在logstash.yml文件中为每个实例的"/etc/logstash/"下指定。

这意味着您有两个 Logstash 实例正在运行,它们不能共享相同的数据目录。您要么需要终止另一个实例,要么如果您确实希望运行两个实例,则需要将它们配置为具有不同的数据目录。

logstash.yml中,您需要更改每个实例的path.data设置。

如果有人只是学习 logstash 并使用 grok 等插件,以下命令很有用。

1 - 列出日志存储进程

ps ax | grep logsta

2 - 查找 PID ( 4428 分/5 Tl+ 1:32/usr/share/logstash/jdk/bin/java -Xm...(

3 - 杀死它sudo kill -9 4428

4 - 通过以下方式监控日志存储筛选结果

cd /usr/share/logstash/bin && sudo ./logstash -f /etc/logstash/conf.d/logstash.conf

最新更新