logstash CloudSQL JDBC日志存储实现

kxkpmulp  于 2022-12-09  发布在  Logstash
关注(0)|答案(1)|浏览(158)

问题

我需要从Logstash查询CloudSQL,但找不到任何示例。

附加上下文

我运行了postgres jdbc驱动程序的build命令
mvn -P jar-with-dependencies clean package -DskipTests
并将其作为Logstash JDBC驱动程序提供(也尝试使用依赖关系jar):

input {
    jdbc {
        jdbc_driver_library => "/Users/gustavollermalylarrain/Documents/proyectos/labs/cloud-sql-jdbc-socket-factory/jdbc/postgres/target/postgres-socket-factory-1.6.4-SNAPSHOT.jar"
        jdbc_driver_class => "org.postgresql.Driver"
        jdbc_connection_string => "jdbc:postgresql:///people?cloudSqlInstance=cosmic-keep-148903:us-central1:llermaly&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=postgres&password=postgres"
        statement => "SELECT * FROM people;"
        jdbc_user => "postgres"
        jdbc_password => "postgres"
    }
}

output {
    stdout {
        codec => rubydebug {
        }
    }
}

我遇到此错误:
错误:未找到类org.postgresql.Driver.您确定您已在:jdbc_driver_library中包含正确的jdbc驱动程序吗?
我错过了什么?

2q5ifsrm

2q5ifsrm1#

从Logstash查询云SQL的步骤如下:
1.构建jar驱动程序:
从此回购中:https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory。克隆并运行mvn -P jar-with-dependencies clean package -DskipTests
1.复制档案
将jar文件从jdbc/postgres/target/复制到logstash-core/lib/jars,同时下载postgres jdbc驱动程序并将jar文件复制到logstash-core/lib/jars
1.配置日志存储
配置文件将不包括jar的路径,因为将查找复制jar文件的默认文件夹logstash-core/lib/jars

input {
    jdbc {
        jdbc_driver_class => "org.postgresql.Driver"
        jdbc_connection_string => "jdbc:postgresql:///people?cloudSqlInstance=cosmic-keep-148903:us-central1:llermaly&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=postgres&password=postgres"
        statement => "SELECT * FROM people;"
        jdbc_user => "postgres"
        jdbc_password => "postgres"
    }
}

output {
    stdout {
        codec => rubydebug {
        }
    }
}

将忽略jdbc用户和密码,而使用您在连接字符串中提供的用户和密码。对于Postgre Cloud SQL连接器,您可以同时使用Postgre用户或IAM帐户。

  • 注意:您需要从计算引擎运行此程序以自动应用gcp凭据或手动创建env变量 *

相关问题