DNS 反向查找编辑

dns 处理器执行 DNS 查询。它根据响应中包含的生存时间 (TTL) 值缓存收到的响应。它还缓存查找过程中发生的错误。此处理器的每个实例都维护着自己的独立缓存。

处理器使用自己的 DNS 解析器向名称服务器发送请求,不使用操作系统的解析器。它不读取 /etc/hosts 中的任何值。

如果您有高延迟网络或缓慢的上游名称服务器,此处理器会显著降低管道吞吐量。缓存有助于提高性能,但如果要解析的地址具有高基数,则由于命中率低,缓存带来的益处会减弱。

例如,如果每次 DNS 查找需要 2 毫秒,则您能达到的最大吞吐量为每秒 500 个事件(1000 毫秒 / 2 毫秒)。如果您有很高的缓存命中率,则您的吞吐量会更高。

处理器可以发送以下查询类型

  • A - IPv4 地址
  • AAAA - IPv6 地址
  • TXT - 任意人类可读文本数据
  • PTR - 反向 IP 地址查找

除了 PTR 之外的所有查询类型,输出值为字符串列表。对于 PTR 查询,输出值为字符串。

这是一个解析两个字段中包含的 IP 地址的最小配置示例。

processors:
  - dns:
      type: reverse
      fields:
        source.ip: source.domain
        destination.ip: destination.domain

以下是显示所有选项的配置示例。

processors:
- dns:
    type: reverse
    action: append
    transport: tls
    fields:
      server.ip: server.domain
      client.ip: client.domain
    success_cache:
      capacity.initial: 1000
      capacity.max: 10000
      min_ttl: 1m
    failure_cache:
      capacity.initial: 1000
      capacity.max: 10000
      ttl: 1m
    nameservers: ['192.0.2.1', '203.0.113.1']
    timeout: 500ms
    tag_on_failure: [_dns_reverse_lookup_failed]

dns 处理器具有以下配置设置

类型
要执行的 DNS 查询类型。支持的类型为 AAAAAPTR(或 reverse)和 TXT
操作
这定义了处理器在事件中已经存在目标字段时的行为。选项有 append(默认)和 replace
字段
这是源字段名称到目标字段名称的映射。源字段的值将用于 DNS 查询,结果将写入目标字段。
success_cache.capacity.initial
成功缓存将被分配用于保存的项目数。初始化时,处理器将为这些项目分配内存。默认值为 1000
success_cache.capacity.max
成功缓存可以保存的最大项目数。当达到最大容量时,会随机删除一个项目。默认值为 10000
success_cache.min_ttl
成功 DNS 响应的最小备用缓存 TTL 的持续时间。确保可以缓存 TTL=0 的成功反向 DNS 响应。有效时间单位为“ns”、“us”(或“µs”、“ms”、“s”、“m”、“h”。默认值为 1m
failure_cache.capacity.initial
失败缓存将被分配用于保存的项目数。初始化时,处理器将为这些项目分配内存。默认值为 1000
failure_cache.capacity.max
失败缓存可以保存的最大项目数。当达到最大容量时,会随机删除一个项目。默认值为 10000
failure_cache.ttl
缓存错误的持续时间。有效时间单位为“ns”、“us”(或“µs”、“ms”、“s”、“m”、“h”。默认值为 1m
名称服务器
要查询的名称服务器列表。如果有多个服务器,解析器会按列出的顺序查询它们。如果没有指定,它将在初始化时读取 /etc/resolv.conf 中列出的名称服务器。在 Windows 上,您必须始终提供至少一个名称服务器。
超时
DNS 查询超时的时间段。这是对每个 DNS 请求的超时,因此如果您有 2 个名称服务器,则总超时将是该值的 2 倍。有效时间单位为“ns”、“us”(或“µs”、“ms”、“s”、“m”、“h”。默认值为 500ms
tag_on_failure
在任何查找失败时添加到事件的标签列表。即使多个查找失败,标签也只添加一次。默认情况下,在失败时不会添加任何标签。
传输
要使用的传输连接类型可以是 tls(DNS over TLS)或 udp。默认为 udp