嗨,我是 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