Logstash:通过使用 Logstash 的 DNS 查找来丰富数据
Posted 中国社区官方博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Logstash:通过使用 Logstash 的 DNS 查找来丰富数据相关的知识,希望对你有一定的参考价值。
我今天看了一篇文章 “Elasticsearch Data Enrichment with Logstash: A Few Security Examples”。它里面有介绍 Logstash 的DNS 过滤器。感觉是一个很不错的过滤器。但是使用起来不是很直接明了。你可以在 Elastic 测官方网站 DNS filter plugin 来详细查看它的使用方法。
在今天的文章中,我将以极其简单的例子来进行展示。这样让大家看得更明白一点。
首先,我们来创建一个叫做 logstash.conf 的配资文件:
logstash.conf
input {
stdin {}
}
filter {
mutate {
add_field => { "domain_lookup" => "%{message}" }
}
dns {
reverse => "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:
我们可以看到 dns.google 代替了之前的 message 里的内容 8.8.8.8。
我们接着来输入一个叫做 202.108.22.5 的 IP 地址:
我们可以看到它是百度的 IP 地址。
当然我们也可以输入其它的 IP 地址:
最后,我来试试我本地的 Mac IP 地址:
参考:
以上是关于Logstash:通过使用 Logstash 的 DNS 查找来丰富数据的主要内容,如果未能解决你的问题,请参考以下文章
filebeat-2-通过kafka队列链接logstash