错误:Logstash 因错误而停止处理:(SystemExit) 退出

时间:2021-02-25 14:28:17

标签: elasticsearch jdbc logstash

我正在尝试使用 LogStash 将 SQL Server 数据复制到 Elasticsearch,实现我自己的名为 sql.conf

的配置脚本

我收到以下错误:

WARNING, using JAVA_HOME while Logstash distribution comes with a bundled JDK
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Sending Logstash logs to C:/Program Files/Elastic/logstash-7.11.1/logs which is now configured via log4j2.properties
[2021-02-25T14:57:05,899][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"7.11.1", "jruby.version"=>"jruby 9.2.13.0 (2.5.7) 2020-08-03 9a89c94bcc Java HotSpot(TM) 64-Bit Server VM 11.0.10+8-LTS-162 on 11.0.10+8-LTS-162 +indy +jit [mswin32-x86_64]"}
[2021-02-25T14:57:06,132][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2021-02-25T14:57:06,858][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"C:/Program Files/Elastic/logstash-7.11.1/sql.conf"}
[2021-02-25T14:57:07,136][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2021-02-25T14:57:07,747][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2021-02-25T14:57:12,678][INFO ][logstash.runner          ] Logstash shut down.
[2021-02-25T14:57:12,968][FATAL][org.logstash.Logstash    ] Logstash stopped processing because of an error: (SystemExit) exit
org.jruby.exceptions.SystemExit: (SystemExit) exit
        at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:747) ~[jruby-complete-9.2.13.0.jar:?]
        at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:710) ~[jruby-complete-9.2.13.0.jar:?]
        at C_3a_.Program_20_Files.Elastic.logstash_minus_7_dot_11_dot_1.lib.bootstrap.environment.<main>(C:\Program Files\Elastic\logstash-7.11.1\lib\bootstrap\environment.rb:89) ~[?:?]

enter image description here

这是我的sql.conf

input {
  jdbc {
    jdbc_connection_string => "jdbc:sqlserver://localhost;databaseName=XXX;integratedSecurity=true;"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    jdbc_user => "XXX"

    statement => "SELECT * FROM XXX"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "cs_XXX"
  }
}

这里是 logstash.conf

input {
  beats {
   port => 5044
   type => "log"
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+yyyy.ww}"
    document_type => "%{[@metadata][type]}"
  }
}

使用的 cmd 行:

bin\logstash -f sql.conf

bin\logstash

两个cmd都给出相同的错误

3 个答案:

答案 0 :(得分:1)

<块引用>

[logstash.config.source.local.configpathloader] 在路径 {:path=>"C:/Program Files/Elastic/logstash-7.11.1/sql.conf"} 中找不到配置文件

您使用了 -f 的相对路径,以便它在当前目录中查找。它没有找到它。给出正确的相对路径或绝对路径。

答案 1 :(得分:0)

我通过更改 cmd 行中的路径来解决问题

bin\logstash -f sql.conf 

bin\logstash -f .\config\sql.conf

答案 2 :(得分:0)

嘿,请重新检查配置文件的名称。 就我而言,我收到错误,因为名称是 logstash.conf.conf 然后我把它改成了logstash.conf