【发布时间】:2023-02-02 23:10:45
【问题描述】:
Logstash(docker) 无法连接数据库。 错误 => 无法连接到数据库。尝试 1 次 {:message=>Java::OrgPostgresqlUtil::PSQLException: 连接到 localhost:5432 被拒绝。检查主机名和端口是否正确,以及 postmaster 是否正在接受 TCP/IP 连接。, :exception=>Sequel::DatabaseConnectionError
logstash.conf 文件:
input{
jdbc {
jdbc_driver_library => '/usr/share/logstash/logstash-core/lib/jars/postgresql-42.5.0.jar'
jdbc_driver_class => "org.postgresql.Driver"
jdbc_connection_string => "jdbc:postgresql://localhost:2022/testdb"
jdbc_user => "postgres"
jdbc_password => "12345"
statement => "SELECT * FROM users"
schedule => "* * * * *"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "%{indexName}"
}
}
logstash.yml 文件:
http.host: "0.0.0.0"
path.config: /usr/share/logstash/pipeline
xpack.monitoring.elasticsearch.hosts: ["localhost:9200"]
xpack.monitoring.enabled: true
我怎样才能连接到数据库?
【问题讨论】:
-
在
jdbc_connection_string中,您需要使用数据库容器的名称。localhost是 logstash 容器并且没有运行数据库。 -
我试过但出现此错误:无法连接到数据库。已尝试 1 次 {:message=>"Java::OrgPostgresqlUtil::PSQLException: 连接尝试失败。", :exception=>Sequel::DatabaseConnectionError, :cause=>org.postgresql.util.PSQLException: 连接尝试失败。
标签: postgresql docker jdbc logstash