elasticsearch - 错误:Logstash 因错误停止处理:(SystemExit)退出
问题描述
我正在尝试使用 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) ~[?:?]
这是我的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]}"
}
}
使用的命令行:
bin\logstash -f sql.conf
或者
bin\logstash
两个 cmd 都给出了相同的错误
解决方案
我通过更改 cmd 行中的路径从
bin\logstash -f sql.conf
至
bin\logstash -f .\config\sql.conf
推荐阅读
- python - python Flask SocketIO 用 eventlet 抛出 SSL 错误
- java - 在循环中运行方法以从数组列表中获取 Max、Min
- google-apps-script - Google表格中的Google App Script - 在列中查找相同的值并将数据行作为变量获取
- php - PHP:在第 n 次出现后插入 HTML标签
- php - Laravel vue 在 api 路由中返回 401 错误
- r - r - 从分组值列表中删除异常值
- reactjs - 如何将 React HOC 与 Typescript 一起使用
- reactjs - Reactjs - 根据传递的属性选择具有不同第一个选项的框
- mysql - MYSQL - 无法与 Group By 2 Columns 正确连接
- javascript - 如何在下拉列表中动态显示多个复选框列表