Обрезка всех строковых полей, поступающих из logstash - ввод jdbc - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь обрезать начальные и конечные пробелы из ALL строковых полей, возвращаемых из входных данных JDBC. Строки таблицы содержат такие пробелы, но я не хочу отправлять их в mongoDB иasticsearch, поэтому мне нужно как-то обрезать эти данные перед отправкой этих целей.

Плагин ввода 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"]
  }
}
...