Logstash 对数存储配置测试
我运行了服务日志存储配置测试,但给出的错误是: 日志存储:无法识别的服务 我可以单独运行logstash服务,但不能使用“configtest”。在etc/logstash/conf.d/I中,我创建了logstash.conf文件,其中包含如下代码:- 其他信息:-Logstash 对数存储配置测试,logstash,logstash-configuration,Logstash,Logstash Configuration,我运行了服务日志存储配置测试,但给出的错误是: 日志存储:无法识别的服务 我可以单独运行logstash服务,但不能使用“configtest”。在etc/logstash/conf.d/I中,我创建了logstash.conf文件,其中包含如下代码:- 其他信息:- service logstash status ● logstash.service - logstash Loaded: loaded (/etc/systemd/system/logstash.service; disa
service logstash status
● logstash.service - logstash
Loaded: loaded (/etc/systemd/system/logstash.service; disabled)
Active: active (running) since Mon 2016-12-26 12:40:58 PST; 6s ago
Main PID: 3512 (java)
CGroup: /system.slice/logstash.service
└─3512 /usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX...
Dec 26 12:40:58 Mr systemd[1]: Started logstash.
使用configtest运行时的服务:-
root@Mr:/# service logstash configtest
logstash: unrecognized service
我在debian8机器上运行这个,希望你们能给我一个好的解决方案
# This input block will listen on port 10514 for logs to come in.
# host should be an IP on the Logstash server.
# codec => "json" indicates that we expect the lines we're receiving to be in JSON format
# type => "rsyslog" is an optional identifier to help identify messaging streams in the pipeline.
input {
udp {
host => "logstash_private_ip"
port => 10514
codec => "json"
type => "rsyslog"
}
}
# This is an empty filter block. You can later add other filters here to further process
# your log lines
filter { }
# This output block will send all events of type "rsyslog" to Elasticsearch at the configured
# host and port into daily indices of the pattern, "rsyslog-YYYY.MM.DD"
output {
if [type] == "rsyslog" {
elasticsearch {
hosts => [ "elasticsearch_private_ip:9200" ]
}
}
}
旧木屋
/opt/logstash/bin/logstash --configtest -f /etc/logstash/conf.d/
后来,它安装在/usr/share/logstash中,因此请尝试以下两种方法之一
/usr/share/logstash/bin/logstash --configtest -f <the config file/folder>
您应该在CentOS 7版上执行此操作:
/etc/rc.d/init.d/logstash configtest /etc/logstash/conf.d/test.conf
我也有同样的问题,这对我帮助很大: 如果您正在运行Logstash版本5,则以下用于测试配置的命令将显示错误:
sudo /opt/logstash/bin/logstash --configtest -f /etc/logstash/conf.d/
测试它的正确命令是:
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
我从Ubuntu服务器16.04开始运行ELK+filebeat,结果是:
将Logstash的日志发送到/var/log/Logstash,该日志现在通过log4j2.properties配置
配置正常
资料来源:
; 使用官方
logstash
Docker映像验证本地文件:
docker run -it -v /etc/logstash:/etc/logstash logstash /usr/share/logstash/bin/logstash -t -f /etc/logstash/logstash.conf
这假设您的配置文件位于本地的/etc/logstash
,然后将该文件夹装载到容器中,路径相同。然后二进制文件可以在容器中找到配置文件
可能有更好的方法来运行该命令,这对我很有效。对于Logstash5.1ITS
/usr/share/logstash/bin/logstash --config.test_and_exit -f logstash.yml
如果你想用docker容器logstash 6.x测试你的配置
docker run -it -v $PWD:/etc/logstash/conf.d --entrypoint "bin/logstash" logstash "--config.test_and_exit"
在Centos 7上,还可以使用以下命令:
/usr/share/logstash/bin/logstash --path.settings /etc/logstash/
--config.test_and_exit /etc/logstash/conf.d/logstash.conf
-bash:/usr/share/logstash:是一个目录。我想你的意思是“/usr/share/logstash/bin/logstash”,在logstash的版本5中也没有--configtest。现在是:“-t、-config.test_和_exit检查配置的有效语法,然后退出。”我正在使用带有管道的logstash 6.0。如何对不同的管道进行配置测试--config.test_和_exit-f完全忽略pipelines.yml文件。hi@cybervedaa,您是否使用-f一次或多次,因为它会忽略设置文件夹的多个声明。也,使用--log.level=debug-检查调试标志以获取更多详细信息。您可以通过将
-f…
替换为-path.settings/etc/logstash
来测试管道。在这个解决方案@Cybervedaa中,这对我很有效,但必须为Macdocker run-it-v$PWD:/lsconfigs logstash/usr/share/logstash/bin/logstash-t-f/lsconfigs/logstash.conf
注意:确保logstash.config位于根目录中,您正在运行docker命令。这是使用Ansible ELK/logstash-f/etc/logstash/conf.d/fileb安装的logstash版本6.5.1。conf--config.test_and_exit/usr/share/logstash/bin查看此目录,如果您是通过rpm包安装的
/usr/share/logstash/bin/logstash --path.settings /etc/logstash/
--config.test_and_exit /etc/logstash/conf.d/logstash.conf