DNS 反向查找
编辑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 查询的类型。支持的类型包括
A
、AAAA
、PTR
(或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
。