在使用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模式
只需要配置filebeat.yml即可:
詳細內容參見: