标签: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
智能推荐
- 运维技能大全 | Devops Tools 周期表
- MySQL:动态开启慢查询日志(Slow Query Log)
- 【分享】分层明确高度定制化的 Python Flask MVC
- CentOS7 搭建ELK日志分析系统过程
- 大数据查询 ELK 之 ES集群搭建
标签:ELK,domain,cn,TLD,jixuejima,域名,tld,logstash 来源: https://www.cnblogs.com/apanly/p/15864509.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。