filebeat+elasticsearch日志内容提取

       我们知道elastisearch节点分五种类型:master(主节点)、data(数据存储,CRUD)、ingest(预处理)、coordinating(协调节点)、tribe(部落节点,用于跨集群)。有些时候我们需要对原始的日志做一些加工(比如格式转换、内容提取等),这个时候就需要使用pipeline,pipeline是在ingest节点上执行的。       

       在我们的集群中,一条日志可能可能被多个日志节点记录, 每个节点启动一个filebeat负责收集日志到elasticsearch。我们希望同一条日志在elasticsearch中只出现一次,同时我们希望通过日志的产生时间而不是收集时间来过滤日志。日志的唯一性,由_id决定;日志的产生时间写入到日志本身中。如果我们不做任何预处理,elasticsearch会自动生成_id, @timestamp会自动表示为日志收集时间。如果我们能直接从日志中提取_id 和timestamp就好了。比如有如下一条日志:

{"2019-12-04T11:24:45.406Z", "12422271230000354151", 'slave167@192.168.5.167', "<7421.6089.0>", cluster_event, cluster_event, handle_event, handle_event, [ {event, stop},{msg, ""}]}.
 

一开始打算自己写正则匹配,一是正则表达式比较复制,二是自己定义的格式不能被pipeline所识别。好在有

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值