我想通过logstash检查一个DB2数据库表,但是我遇到了这个例外。
[2018-02-06T13:34:34,175] [错误] [logstash.agent]由于错误导致管道中止{:exception =>#,:backtrace => [“com.ibm.as400.access。 JDError.createSQLExceptionSubClass(com / ibm / as400 / access / JDError.java:824)“,”com.ibm.as400.access.JDError.throwSQLException(com / ibm / as400 / access / JDError.java:553)“,” com.ibm.as400.access.AS400JDBCConnection.setProperties(com / ibm / as400 / access / AS400JDBCConnection.java:3391)“,”com.ibm.as400.access.AS400JDBCDriver.prepareConnection(com / ibm / as400 / access / AS400JDBCDriver .java:1419)“,”com.ibm.as400.access.AS400JDBCDriver.initializeConnection(com / ibm / as400 / access / AS400JDBCDriver.java:1256)“,”com.ibm.as400.access.AS400JDBCDriver.connect(com /ibm/as400/access/AS400JDBCDriver.java:395)“,”java.lang.reflect.Method.invoke(java / lang / reflect / Method.java:498)“,
这是我的输入配置
input {
beats {
port => 5044
ssl => true
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
jdbc {
jdbc_connection_string => "jdbc:as400://ip/db"
jdbc_user => "usr"
jdbc_password => "pass"
jdbc_driver_library => "/etc/logstash/lib/jt400-9.1.jar"
jdbc_driver_class => "com.ibm.as400.access.AS400JDBCDriver"
statement => "SELECT * FROM table1 FETCH FIRST ROWS ONLY"
}
}
我必须提到数据库中的防火墙已被禁用。