使用 dmesg 来查看一些硬件或驱动程序的信息或问题。

logstash 同步数据库中的数据增量写到ES中

Elasticsearch | 作者 juin | 发布于2019年01月02日 | 阅读数:2263

有个问题请教大家:
我在 logstash 中同步数据库中的数据到ES 集群,但是数据库中的数据会不定期进行更新,ES 中的_id 来自数据中的某个字段,
但是在logstash 的output 模块索引是按月来创建的
每词数据更新时都是针对当前最新的索引来做的操作
 
那有什么办法可以解决这个问题,logstash  同步更新时根据数据的所在索引更新 
已邀请:

God_lockin

赞同来自:

可以考虑用logstash把数据提取出来写进消息队列如Kafka,然后通过自研的consumer重新组合数据,对es进行主键更新等

bellengao - 博客: https://www.jianshu.com/u/e0088e3e2127

赞同来自:

filter里根据数据的创建时间解析出年和月份,作为一个field, output里index参数设置成动态的,填充上解析出来的年和月的fileld

ccsy

赞同来自:

可以根据数据的创建时间建立索引吗

rochy - rochy_he

赞同来自:

索引名称设置为:logstash-%{indexDate}
你可以使用 Date Filter 将创建日期格式化为需要的形式,然后将结果设置到 indexDate 字段;
这样即可实现覆盖的效果;记得设置 upsert 模式

要回复问题请先登录注册