我是靠谱客的博主 妩媚芹菜,最近开发中收集的这篇文章主要介绍Filebeat Filter - Dissect/DNS Reverse,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在使用Filebeat替代Logstash的时候遇到需要从log中摘取数据的case,比如解析access log,最开始的方案是使用Filebeat module功能,把所有load都转移到Elasticsearch的Ingest Node上面。
之后遇到的case是文件路径中带有IP信息,需要把ip摘取出来之后通过DNS域名解析服务器转变成域名。如果依然使用module方式在Ingest node上面抓取的话没法后续做DNS转换的操作,遂考虑在Filebeat上面使用Dissect+DNS Reverse的方案。

  • Dissect:

Dissect是一款轻量级的匹配过滤器,相比于Grok,不做过多的正则匹配。如若数据格式相对固定并且有明显的分割边界,使用Dissect会比Grok消耗更少的资源。


- dissect:
when:
equals:
type: 'XXX'
tokenizer: "/%{}/%{}/%{}/%{}/%{}/%{IP}/"
field: "path"
target_prefix: "ip"

target_prefix 表示新生成了一个叫ip object字段,所有匹配到的字段名都会在这个字段之下

%{IP}表示生成的字段会位于IP这个字段内,结合target_prefix,则位于ip.IP 字段下

%{} 可以用于跳过匹配

%{?test}用于匹配到之后不生成新字段

%{+test}用于多个匹配都追加到test字段中

 

  • DNS Reverse

DNS Reverse 用于DNS域名解析,因为每个事件都需要一次request查询匹配,不适宜放在中央的ES端处理,遂在client端可以进行如下配置


- dns:
when:
equals:
component: 'xxx'
type: reverse
action: replace
fields:
ip.IP: host
success_cache:
capacity.initial: 1000
capacity.max: 10000
timeout: 60s
nameservers: ["xx.xxx.xxx.xxx"]

 

最后

以上就是妩媚芹菜为你收集整理的Filebeat Filter - Dissect/DNS Reverse的全部内容,希望文章能够帮你解决Filebeat Filter - Dissect/DNS Reverse所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部