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

时间:2019-04-23 12:01:30

标签: elasticsearch dns logstash elastic-stack logstash-configuration

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

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

|website|n|
|www.google.com|n1|
|www.yahoo.com|n2|
|www.bing.com|n3|
|www.stackoverflow.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过滤器中完成

1 个答案:

答案 0 :(得分:2)

hit_cache_size允许您存储成功请求的结果,因此,如果您需要在同一主机上运行dns请求,则将查找高速缓存,并且仅在主机位于以下位置时才进行dns查找没有缓存。

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

hit_cache_ttlhit_cache_size一起使用,并说明请求将在缓存中存储多少秒。