Logstash5.2用PGSQL jdbc报错FATAL: role "myuname" does not exist
Logstash | 作者 wyntergreg | 发布于2017年02月10日 | 阅读数:5425
从官网下载了5.2的tar包直接解压的,logstash.yml配了http.host和http.port,startup.options里配了JAVACMD、LS_HOME,其他配置都没配。
从PG官网下的最新jdbc driver,数据库是PG9.5.5,input/output如下:
input {
jdbc {
jdbc_driver_library => "jdbc-drivers/postgresql-9.4.1212.jar"
jdbc_driver_class => "org.postgresql.Driver"
jdbc_connection_string => "jdbc:postgresql://192.168.5.16:5432/AUDIT"
jdbc_user => "postgres"
schedule => "* * * * *"
statement => "SELECT id, username, depname, srcpath, dstpath FROM tfilemonex WHERE id > :sql_last_value"
use_column_value => true
tracking_column => id
}
}
output {
elasticsearch { hosts => ["192.168.9.77:9200"] }
stdout { codec => rubydebug }
}
然后bin/logstash -f **.conf以后启动不了,直接报错:
[ERROR][logstash.agent ] Pipeline aborted due to error {:exception=>#<Sequel::DatabaseConnectionError: Java::OrgPostgresqlUtil::PSQLException: FATAL: role "greg" does not exist>, :backtrace=>["org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(org/postgresql/core/v3/QueryExecutorImpl.java:2455)",
后边好长的错误信息应该没关系了,greg是我当前系统用户,但是我已经在input里配了jdbc_user了呀,为什么连接的时候用的是系统用户?
官网没找到相关的配置文档,在哪里可以修改吗?
从PG官网下的最新jdbc driver,数据库是PG9.5.5,input/output如下:
input {
jdbc {
jdbc_driver_library => "jdbc-drivers/postgresql-9.4.1212.jar"
jdbc_driver_class => "org.postgresql.Driver"
jdbc_connection_string => "jdbc:postgresql://192.168.5.16:5432/AUDIT"
jdbc_user => "postgres"
schedule => "* * * * *"
statement => "SELECT id, username, depname, srcpath, dstpath FROM tfilemonex WHERE id > :sql_last_value"
use_column_value => true
tracking_column => id
}
}
output {
elasticsearch { hosts => ["192.168.9.77:9200"] }
stdout { codec => rubydebug }
}
然后bin/logstash -f **.conf以后启动不了,直接报错:
[ERROR][logstash.agent ] Pipeline aborted due to error {:exception=>#<Sequel::DatabaseConnectionError: Java::OrgPostgresqlUtil::PSQLException: FATAL: role "greg" does not exist>, :backtrace=>["org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(org/postgresql/core/v3/QueryExecutorImpl.java:2455)",
后边好长的错误信息应该没关系了,greg是我当前系统用户,但是我已经在input里配了jdbc_user了呀,为什么连接的时候用的是系统用户?
官网没找到相关的配置文档,在哪里可以修改吗?
2 个回复
wyntergreg
赞同来自:
wyntergreg
赞同来自:
issue在此,虽然没人看,但还是说一下吧
官网文档是要求配jdbc_user的,但是PG的JDBC需要在url里写user
没错,但是你不写jdbc_user这个参数,logstash会报错的。
结果就是url里和jdbc_user参数都要写user
this is the bullshit