应用场景:
通过logstash-filter-jdbc_streaming插件,动态“丰富化” logstash处理的数据。
filter{
jdbc_streaming {
jdbc_driver_library => "/usr/local/logstash-6.8.0/vendor/jar/jdbc/mysql-connector-java-8.0.15.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://xxx.xxx.xxx.xxx:3306/edr_end?characterEncoding=utf8&useSSL=false"
jdbc_user => "root"
jdbc_password => "yourPassword"
jdbc_validate_connection => true
parameters => { "search_param" => "[hostId]"}
statement => "select * from t_asset_preserve where host_id = :search_param"
target => lookupResult
}
if ("_jdbcstreamingdefaultsused" not in [tags]) and ("_jdbcstreamingfailure" not in [tags]) {
mutate {
add_field => {"assetName" => "%{[lookupResult][0][asset_name]}"}
add_field => {"assetIp" => "%{[lookupResult][0][ip]}"}
}
}
}
}
Mysql返回的结果集lookupResult,可用于流式动态 “丰富化” 数据。