Below is the error that I get when I try to run logstash after downloading the .zip file from the official website.
.\logstash.bat -f logstash.conf
Using JAVA_HOME defined java: C:\Program Files\Java\jdk-16.0.1\
WARNING, using JAVA_HOME while Logstash distribution comes with a bundled JDK
Error: Could not find or load main class Files\Apache
Caused by: java.lang.ClassNotFoundException: Files\Apache
"error: jvm options parser failed; exiting"
What can be done here? Where do I add Files/Apache and what does Files/Apache contain?
This is my logstash.conf file
# Read input from filebeat by listening to port 5044 on which filebeat will send the data
input {
beats {
type => "test"
port => "5044"
}
}
filter {
#If log line contains tab character followed by 'at' then we will tag that entry as stacktrace
if [message] =~ "\tat" {
grok {
match => ["message", "^(\tat)"]
add_tag => ["stacktrace"]
}
}
}
output {
stdout {
codec => rubydebug
}
# Sending properly parsed log events to elasticsearch
elasticsearch {
hosts => ["localhost:9300"]
}
}
I realize this is not your decision, Mark, but although that is true, it is really a bug in logstash. Saying "do not have a space in the install path" when spaces in the install path have been absolutely standard on Windows for years is not cool. There are only eight .bat files, totalling less than 6 KB of text. It would not be a major effort to test and fix them. Some cases have already been fixed!
There will be many variants of this, but if you install logstash, cd to the bin directory and run
.\logstash -f logstash.conf
then cmd barfs with
\logstash-7.14.0\logstash-core\lib\jars\animal-sniffer-annotations-1.14.jar was unexpected at this time.
that is due to the :concat function in logstash.bat not handling arguments with spaces
set CLASSPATH=%~1
expands to
set CLASSPATH=c:\Program Files (x86)\logstash-7.14.0\logstash-core\lib\jars\animal-sniffer-annotations-1.14.jar
logstash.bat already has setlocal enabledelayedexpansion, so how hard is it to do
set CLASSPATH=!~1!
instead? Of course that just gets you onto setup.bat, where
I did like Mark pointed out; removed the spaces in the path of both my JAVA_HOME and where logstash lives. It still throws the same error.
I also tried making changes listed by Badger in logstash.bat and the error I get still persists. Now he mentioned making similar changes in other batch files but I'm not familiar with writing batch files so I'm stuck.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.