【问题标题】:Logstash not updating last run metadata fileLogstash 未更新上次运行的元数据文件
【发布时间】:2018-05-30 11:18:08
【问题描述】:

在我的 Logstash 中,我想在查询中使用 :sql_last_value 和 conf 文件中的 tracking_column 选项从数据库下载最新数据。我已经设置 last_run_metadata_path 因为我有 2 个管道用于同一个表,但 Logstash 只保存了最后一次日期或停止保存新日期,现在我可以在日志中看到它使用元数据文件中的相同 :sql_last_value 运行查询。

这就是我的 conf 文件的样子,它有许多 jdbc 输入,其中一个如下:

  jdbc {
        jdbc_driver_library => "/opt/logstash/lib/ojdbc8.jar"
        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
        jdbc_connection_string => ""
        jdbc_user => ""
        jdbc_password => ""
        schedule => "*/15 * * * *"
        statement_filepath => "/etc/logstash/queries/UAT/transactions_UAT.sql"
        use_column_value => true
        tracking_column => 'sys_created_on'
        tracking_column_type => "timestamp"
        last_run_metadata_path => "/etc/logstash/conf.d/lastrun_metadata/transactions_uat_metadata"
        tags => ["transactions_uat"]
  }

元数据文件的内容:

--- 2018-05-26 08:41:55.000000000 -04:00

我可以在日志中看到 Logstash 始终使用元数据文件中的相同日期并且更新它:

select * from snc_uat.syslog_transaction0007
 where "sys_created_on" >= TIMESTAMP '2018-05-26 08:41:55.000000 -04:00' 

Logstash 正在运行并正在下载最近的数据,但不必要地处理已经存在的数据。为什么 Logstash 不更新元数据?

【问题讨论】:

    标签: elasticsearch logstash elastic-stack


    【解决方案1】:

    这是因为您的比较运算符大于或等于,即>=,请将其更改为>,它将解决您的问题。 希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 2020-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      相关资源
      最近更新 更多