ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ELK 之解析域名的TLD

2022-02-05 18:03:11  阅读:188  来源: 互联网

标签:ELK domain cn TLD jixuejima 域名 tld logstash


缘由

    我们在大数据数据里面有一类数据是 域名,例如 www.jixuejima.cn ,我们需要把 cn 和 jixuejima.cn 提取处理,这个其实就是TLD(TOP LEVEL DOMAIN)顶级域名解析过程。

    大家看过我们前面ELK相关文章的,都知道我们处理过程是 FileBeat -> Redis -> LogStash -> ES 。在 聊聊公司的技术栈  这篇文章中我就说过这个过程,但是肯定很多人很郁闷,为什么不能直接从FileBeat 直接 到 ES。其实就是因为原始数据要结果处理之后才能进入ES,而FileBeat处理能力是有限并且是非常差的(至少我们在使用过程中发现就是这样的一个结果)。

解决方案

    logstash有很多插件可以用,找了很久发现了一个 : https://github.com/logstash-plugins/logstash-filter-tld  。这个logstash插件可以解决我的需求。

安装

/usr/share/logstash/bin/logstash-plugin install logstash-filter-tld

配置

    在logstash的配置中filter里面加入如下配置

tld {
   source => "domain"
   add_field => [ "main_domain", "%{[tld][domain]}" ]
   add_field => [ "domain_suffix", "%{[tld][tld]}" ]
}

 

tld插件有如下几个字段


tld.domain    jixuejima.cn
tld.sld    jixuejima
tld.subdomain    www.jixuejima.cn
tld.tld    cn
tld.trd    www

效果展示

题外话

在找需求的解决方案的过程中发现了一个PSL(public suffix list  公共域名后缀列表),这个是TLD的基础。所以我在服务器里面的插件也找到了对应的PSL文件:/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/public_suffix-1.4.6/lib/definitions.txt(由于logstash tld是ruby写的,所以在ruby的目录里面的)



原文地址:ELK 之解析域名的TLD
标签:elk   psl   tld   logstash   

智能推荐

标签:ELK,domain,cn,TLD,jixuejima,域名,tld,logstash
来源: https://www.cnblogs.com/apanly/p/15864509.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有