DNS 反向查找
编辑DNS 反向查找
编辑dns
处理器执行 IP 地址的反向 DNS 查找。它根据响应中包含的生存时间 (TTL) 值缓存接收到的响应。它还会缓存查找期间发生的失败。此处理器的每个实例都维护其自己的独立缓存。
该处理器使用自己的 DNS 解析器向名称服务器发送请求,而不使用操作系统的解析器。它不读取 /etc/hosts
中包含的任何值。
如果您的网络延迟较高或上游名称服务器速度较慢,则此处理器可能会显著降低管道的吞吐量。缓存有助于提高性能,但如果正在解析的地址具有较高的基数,则由于高未命中率,缓存优势会降低。
例如,如果每次 DNS 查找需要 2 毫秒,则您可以实现的最大吞吐量为每秒 500 个事件(1000 毫秒 / 2 毫秒)。如果您的缓存命中率很高,则吞吐量可能会更高。
示例
编辑这是一个最小配置示例,用于解析两个字段中包含的 IP 地址。
- dns: type: reverse fields: source.ip: source.hostname destination.ip: destination.hostname
此示例显示所有配置选项。
- dns: type: reverse action: append transport: tls fields: server.ip: server.hostname client.ip: client.hostname 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]
配置设置
编辑Elastic Agent 处理器在 ingest 管道之前执行,这意味着您的处理器配置不能引用由 ingest 管道或 Logstash 创建的字段。有关更多限制,请参阅 使用处理器有哪些限制?
名称 | 必需 | 默认值 | 描述 |
---|---|---|---|
|
是 |
要执行的 DNS 查找类型。唯一支持的类型是 |
|
|
否 |
|
定义当目标字段已存在于事件中时处理器的行为。选项为 |
|
是 |
源字段名称到目标字段名称的映射。源字段的值用于 DNS 查询,结果将写入目标字段。 |
|
|
否 |
|
分配给成功缓存以容纳的初始项目数。初始化时,处理器将为该数量的项目分配内存。 |
|
否 |
|
成功缓存可以容纳的最大项目数。当达到最大容量时,将驱逐一个随机项目。 |
|
是 |
|
成功 DNS 响应的最小替代缓存 TTL 的持续时间。确保可以缓存 |
|
否 |
|
分配给失败缓存以容纳的初始项目数。初始化时,处理器将为该数量的项目分配内存。 |
|
否 |
|
失败缓存可以容纳的最大项目数。当达到最大容量时,将驱逐一个随机项目。 |
|
否 |
|
缓存失败的持续时间。有效的时间单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。 |
|
是(在 Windows 上) |
要查询的名称服务器列表。如果有多个服务器,则解析器会按照列出的顺序查询它们。如果未指定任何服务器,则它会在初始化时读取 |
|
|
否 |
|
DNS 查询超时后的持续时间。这是每次 DNS 请求的超时时间,因此如果您有两个名称服务器,则总超时时间将是此值的 2 倍。有效的时间单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。 |
|
否 |
|
当任何查找失败时添加到事件的标签列表。即使多次查找失败,标签也只会添加一次。默认情况下,失败时不会添加任何标签。 |
|
否 |
|
应使用的传输连接类型: |