我正在尝试从JDBC输入返回的 ALL 字符串字段中修剪前导和尾随空格。表行包含这样的空格,但是我不想将它们发送到mongoDB和elasticsearch,因此我应该以某种方式在发送这些目标之前修剪这些数据。
JDBC输入插件连接到大型机上的DB2。我可以在select语句中修剪字符串字段,也可以引入kv过滤器,一一指定所有字符串字段。但是我需要找到最有效的替代方法来实现这一目标。
提前谢谢
这是我的logstash配置;
input {
jdbc{
jdbc_driver_library => "<lib>"
jdbc_driver_class => "<class>"
jdbc_connection_string => "<conn_str>"
jdbc_user => "<user>"
jdbc_password => "<pass>"
schedule => "* * * * *"
use_column_value => true
tracking_column => "<field1>"
last_run_metadata_path => "<path>"
statement => "
SELECT *
FROM <table>
WHERE
<field1> > :sql_last_value
ORDER BY <field1> ASC
"
}
}
output {
mongodb {
uri => "mongodb://<server1>:27017"
database => "<db>"
collection => "<collection>"
id => "mongo_id"
}
elasticsearch {
index => "dtcomo"
hosts => ["<server1>:9200","<server2>:9200","<server3>:9200"]
}
}