Logstash:通过使用 Logstash 的 DNS 查找来丰富数据

2021年9月22日   |   by mebius

我今天看了一篇文章 “Elasticsearch Data Enrichment with Logstash: A Few Security Examples”。它里面有介绍 Logstash 的DNS 过滤器。感觉是一个很不错的过滤器。但是使用起来不是很直接明了。你可以在 Elastic 测官方网站 DNS filter plugin 来详细查看它的使用方法。

在今天的文章中,我将以极其简单的例子来进行展示。这样让大家看得更明白一点。

首先,我们来tgcode创建一个叫做 logstash.conf tgcode的配资文件:

logstash.conf

input {
    stdin {}
}

filter {
    mutate {
        add_field => { "domain_lookup" => "%{message}" }
    }

    dns {
        tgcodereverse => "domain_lookup"
        action => "replace"
        nameserver => {
            address => ["8.8.8.8", "8.8.4.4", "114.114.114.114", "192.168.0.1" ]
        }   
    }
}

output {   
    stdout {
        codec => rubydebug 
    }
}

在上面,我们使用 stdin 来输入。它将生成一个叫做 message 的字段。我们接着使用 mutate 过滤器来添加一个叫做 domain_lookup 的字段。它的内容是和 message 是一样的。我们最终使用 DNS filter 来对 IP 地址进行解析。在上面的 nameserver 中,我们使用了最为常见的 8.8.8.8,8.8.4.4 服务器来进行解析。

我们使用如下的方式来进行运行:

./bin/logstash -f logstash.conf

我们接着输入 IP 地址 8.8.8.8:

%title插图%num

我们可以看到 dns.google 代替了之前的 message 里的内容 8.8.8.8。

我们接着来输入一个叫做202.108.22.5 的 IP 地址:

%title插图%num

我们可以看到它是百度的 IP 地址。

当然我们也可以输入其它的 IP 地址:

%title插图%num

最后,我来试试我本地的 Mac IP 地址:

%title插图%num

参考:

【1】Dns filter plugin | Logstash Reference [7.14] | Elastic

文章来源于互联网:Logstash:通过使用 Logstash 的 DNS 查找来丰富数据

相关推荐: Elasticsearch:时间点 API

在今天的文章中,我将着重介绍 Point in time API。在接下来的文章中,我将介绍如何运用 PIT 来对搜索结果进行分页。这也是被推荐使用的方法。 Point in time API 默认情况下,搜索请求针对目标索引的最新可见数据执行,这称为时间点。…

Tags: , ,