NetFlow 模块编辑

这是一个用于通过 UDP 接收 NetFlow 和 IPFIX 流记录的模块。此输入支持 NetFlow 版本 1、5、6、7、8 和 9,以及 IPFIX。对于早于 9 的 NetFlow 版本,字段会自动映射到 NetFlow v9。

此模块包装了netflow 输入,以便使用 Elasticsearch 提取管道通过有关 IP 端点的地理位置信息来丰富流记录。

阅读快速入门,了解如何配置和运行模块。

配置模块编辑

您可以通过在 modules.d/netflow.yml 文件中指定变量设置,或在命令行覆盖设置,来进一步优化 netflow 模块的行为。

您必须在模块中至少启用一个文件集。默认情况下禁用文件集。

变量设置编辑

每个文件集都有单独的变量设置,用于配置模块的行为。如果您未指定变量设置,则 netflow 模块将使用默认值。

对于高级用例,您还可以覆盖输入设置。请参阅覆盖输入设置

在命令行指定设置时,请记住在设置前加上模块名称,例如,netflow.log.var.paths 而不是 log.var.paths

log 文件集设置编辑

默认情况下,文件集配置为侦听 localhost:2055 上的 UDP 流量。对于大多数用例,您需要设置 netflow_host 变量以允许输入绑定到所有接口,以便它可以接收来自网络设备的流量。

- module: netflow
  log:
    enabled: true
    var:
      netflow_host: 0.0.0.0
      netflow_port: 2055
var.netflow_host
要绑定的地址。默认为 localhost
var.netflow_port
要侦听的端口。默认为 2055
var.max_message_size
通过 UDP 接收的消息的最大大小。默认值为 10KiB
var.read_buffer
UDP 套接字上读取缓冲区的大小。
var.timeout
套接字操作的读写超时。
var.expiration_timeout
空闲会话或未使用模板过期之前的时间。仅适用于 v9 和 IPFIX 协议。值为零表示禁用过期。
var.queue_size
可以排队等待处理的最大数据包数。使用此设置可以避免在处理偶尔出现的流量突发时出现数据包丢失。
var.custom_definitions
字段定义 YAML 文件的路径列表。这些文件允许使用供应商扩展更新 NetFlow/IPFIX 字段,并覆盖现有字段。有关详细信息,请参阅netflow 输入
var.detect_sequence_reset
控制 Filebeat 是否应监控 Netflow 数据包中的序列号以检测导出进程重置的标志。有关详细信息,请参阅netflow 输入
var.internal_networks
描述您认为是内部 IP 地址的 CIDR 范围列表。这用于确定 source.localitydestination.localityflow.locality 的值。这些值可以是 CIDR 值,也可以是network 条件支持的命名范围之一。默认值为 [private],它将 RFC 1918 (IPv4) 和 RFC 4193 (IPv6) 地址分类为内部地址。
var.tags
要包含在事件中的标记列表。包括 forwarded 表示事件并非源自此主机,并导致 host.name 不会添加到事件中。默认为 [forwarded]

字段编辑

有关模块中每个字段的说明,请参阅导出字段部分。