Logstash连接启用MTLS的Cassandra:SSL配置及JDBC连接串问题
Logstash连接启用MTLS的Cassandra配置方案
一、Logstash中Cassandra SSL(含MTLS)配置步骤
针对Logstash的JDBC输入插件,需添加SSL相关配置项,确保驱动能验证服务端证书并提供客户端证书(MTLS要求):
- 加载支持SSL的Cassandra JDBC驱动:使用最新版DataStax JDBC驱动(4.x及以上),将驱动jar包放到Logstash的
vendor/jars目录,或通过jdbc_driver_library指定路径。 - 在JDBC输入配置中添加SSL连接属性:
jdbc_connection_properties => { "ssl" => "true" # 信任库配置(验证服务端证书) "ssl.truststore.path" => "/opt/logstash/certs/truststore.jks" "ssl.truststore.password" => "your_truststore_pwd" # MTLS额外配置(提供客户端证书) "ssl.keystore.path" => "/opt/logstash/certs/keystore.jks" "ssl.keystore.password" => "your_keystore_pwd" "ssl.key.password" => "your_key_pwd" # 若密钥与密钥库密码不同需添加 } - 确保Logstash进程对证书文件有可读权限。
二、SSL版Cassandra JDBC连接串
基于原连接串改造,提供两种配置方式:
方式1:连接串包含所有SSL参数
jdbc_connection_string => "jdbc:cassandra://${host}:${port}/${keyspace}?ssl=true&ssl.truststore=/opt/logstash/certs/truststore.jks&ssl.truststore.password=your_truststore_pwd&ssl.keystore=/opt/logstash/certs/keystore.jks&ssl.keystore.password=your_keystore_pwd&ssl.key.password=your_key_pwd"
方式2:连接串仅启用SSL,其余参数通过jdbc_connection_properties配置(更简洁)
jdbc_connection_string => "jdbc:cassandra://${host}:${port}/${keyspace}?ssl=true"
验证建议
先用cqlsh通过SSL连接Cassandra,确认证书、密码及服务端配置无误后,再配置Logstash,避免因基础SSL连接问题增加排查难度。
内容的提问来源于stack exchange,提问作者RanjitKumar Gadde
相关产品推荐
相关产品推荐

