logstash dns 过滤器中的 hit_cache_size 如何工作?

How hit_cache_size in logstash dns filter works?

我在 logstash 中为我的 csv 文件使用 dns 过滤器。在我的 csv 文件中,我有两个字段。他们是网站和计数。

这是我的 csv 文件的示例内容:

|website|n|
|www.google.com|n1|
|www.yahoo.com|n2|
|www.bing.com|n3|
|www.whosebug.com|n4|
|www.smackcoders.com|n5|
|www.zoho.com|n6|
|www.quora.com|n7|
|www.elastic.co|n8|

这是我的 logstash 配置文件:

  input {
       file {
          path => "/home/paulsteven/log_cars/cars_dns.csv"
          start_position => "beginning"
          sincedb_path => "/dev/null"
       }
    }
    filter {
        csv {
            separator => ","
            columns => ["website","n"]
        }
        dns { 
          resolve => [ "website" ] 
          action => "replace" 
          hit_cache_size => 8000 
          hit_cache_ttl => 300 
          failed_cache_size => 1000 
          failed_cache_ttl => 10
        }
    }
    output {
      elasticsearch {
        hosts => "localhost:9200"
        index => "dnsfilter03"
        document_type => "details"
      }
      stdout{}
    }

这是通过 logstash 传递的示例数据:

  {
          "@version" => "1",
              "path" => "/home/paulsteven/log_cars/cars_dns.csv",
           "website" => "104.28.5.86",
                 "n" => "n21",
              "host" => "smackcoders",
           "message" => "www.smackcoders.com,n21",
        "@timestamp" => 2019-04-23T10:41:15.680Z
    }

在 logstash 配置文件中,我想了解 hit_cache_size。它有什么用。我在弹性网站上阅读了 dns 过滤器指南,但无法弄清楚。我在我的 logstash 配置中添加了该字段,但没有任何反应。我能得到任何例子吗?我想知道 hit_cache_size 的用法。什么工作,它在 dns filter

中做什么

hit_cache_size 允许您存储成功请求的结果,因此如果您需要 运行 同一主机上的 dns 请求将改为查看缓存,并且只会执行如果主机未缓存,则进行 dns 查找。

如果您的数据具有唯一主机,则没有理由使用 hit_cache_size,因为主机只出现一次。

hit_cache_ttlhit_cache_size 一起工作,表示请求将在缓存中存储多少秒。