在elasticsearch和logstash上的增量索引名中的唯一文档id

bgibtngc  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(0)|浏览(245)

我用麋鹿做报告。logstash jdbc插件,用于从oracle查询提供ElasticSearch。我把索引名和每日日期作为增量后缀。我使用文档id作为db的主键。但db中的同一条记录会随着时间的推移而发生变化。所以我有一个关于logstash输入和db query的每小时时间表来获取在过去1小时内更新的记录。大多数记录都是在一周内更新的。由于这个原因,同一条记录反映在多个索引中。有没有办法使文档id在所有索引中都是唯一的?
日志存储配置

input{
   jdbc{
      jdbc_driver_library=>"ojdbc8.jar"
      jdbc_driver_class=>"Java::oracle.jdbc.driver.OracleDriver"
      jdbc_connection_string=>"db connection string"
      jdbc_user=>"user"
      jdbc_password=>"pass"
      statement_filepath=>"incident.sql"
      schedule=>"0 * * * *"
      id=>"incident_details"
      type=>"incident_details"
      tracking_column_type=>"numeric"
      tracking_column=>"incidnet_id"
   }
}

if[type]="incident_details"{
   elasticsearch{
      index=>"devops-servicenow-%{[type]}-%{+YYYY.MM.dd}"
      hosts=>["elk1.mydomain.com:9200","elk2.mydomain.com:9200"]
      document_id=>"%{incidnet_id}"
      doc_as_upsert=>true
      action=>"update"
   }
}

sql语句

SELECT 
incident_id,
created_time,
modified_time,
incident_status
FROM incident WHERE modified_time BETWEEN (SYSDATE-1/24) AND SYSDATE;

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题