Как я могу преобразовать свой оператор ввода в json, чтобы передать его в качестве выходного параметра? - PullRequest
0 голосов
/ 28 апреля 2020

Я использую logsta sh с выводом jdb c для отправки данных в postgresql, проблема в том, что, поскольку существует много значений, я не знаю, в каком преобразовании это происходит, поэтому я хотел бы отправить все входные параметры в виде одной строки json. Вы можете сделать что-то подобное? из базы ввода я не могу этого сделать.

    input {
  jdbc {
        jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/ifxjdbc-4.50.3.jar"
        jdbc_driver_class => "com.informix.jdbc.IfxDriver"
        jdbc_connection_string => "jdbc:informix-sqli://xxxxxxxx"
        jdbc_user => "***"
        jdbc_password => "****"
        schedule => "* * * * *"
        statement => "SELECT * FROM informix.test WHERE id_nvd_com > :sql_last_value"
        use_column_value => true
        tracking_column => id_nvd_com
        last_run_metadata_path => "/var/log/logstash/value/test_last_value.yml"
        tags => "test"
  }
}

output {
  if "test" in [tags] {
        stdout { codec => json_lines }
        jdbc {
                connection_string => 'jdbc:postgresql://xxxxxxxx'
                statement => ["SELECT * FROM public.sp_lgs_test(?, ?, ?)", "test1", "test2", "test3"]
  }
}
...