首页 > 解决方案 > 如何将我的输入语句转换为 json 以将其作为输出参数传递?

问题描述

我正在使用带有输出 jdbc 的 logstash 将数据发送到 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"]
  }
}

标签: elasticsearchoutputlogstash

解决方案


推荐阅读