NetFlow 输入
编辑NetFlow 输入
编辑使用 netflow
输入来读取通过 UDP 导出的 NetFlow 和 IPFIX 流以及选项记录。
此输入支持 NetFlow 版本 1、5、6、7、8 和 9,以及 IPFIX。对于低于 9 的 NetFlow 版本,字段会自动映射到 NetFlow v9。
示例配置
filebeat.inputs: - type: netflow max_message_size: 10KiB host: "0.0.0.0:2055" protocols: [ v5, v9, ipfix ] expiration_timeout: 30m queue_size: 8192 custom_definitions: - path/to/fields.yml detect_sequence_reset: true
配置选项
编辑netflow
输入支持以下配置选项以及稍后描述的通用选项。
max_message_size
编辑通过 UDP 接收的消息的最大大小。默认为 10KiB
。
host
编辑侦听事件流的主机和 UDP 端口。
network
编辑网络类型。可接受的值为:“udp”(默认)、“udp4”、“udp6”。
read_buffer
编辑UDP 套接字上的读取缓冲区大小。如果未指定,则使用操作系统默认值。
timeout
编辑套接字操作的读取和写入超时。默认为 5m
。
protocols
编辑已启用协议的列表。有效值为 v1
、v5
、v6
、v7
、v8
、v9
和 ipfix
。
expiration_timeout
编辑空闲会话或未使用模板过期之前的时间。仅适用于 v9 和 IPFIX 协议。值为零表示禁用过期。
share_templates
编辑此选项允许在会话内共享 v9 和 ipfix 模板,而无需参考模板的来源。
请注意,不建议将其设置为 true,因为它可能导致在某些情况下应用错误的模板,但在某些系统中可能需要此设置。
queue_size
编辑可以排队以进行处理的数据包的最大数量。在处理偶尔的流量突发时,使用此设置可以避免数据包丢失。
workers
编辑同时读取和解码 Netflow 数据包的工作进程数量。默认为 1
。请注意,为了最大限度地提高多个工作进程的性能增益,建议将输出切换到 throughput
预设 (链接)。
custom_definitions
编辑字段定义 YAML 文件的路径列表。这些允许使用供应商扩展更新 NetFlow/IPFIX 字段并覆盖现有字段。
预期格式与 Logstash 的 NetFlow 编解码器 ipfix_definitions 和 netflow_definitions 使用的格式相同。Filebeat 将检测使用哪种格式。
NetFlow 格式示例
id: - default length in bytes - :name id: - :uintN or :intN: or :ip4_addr or :ip6_addr or :mac_addr or :string - :name id: - :skip
其中 id
是数字字段 ID。
IPFIX 格式类似,但按专用企业编号 (PEN) 分组。
pen1: id: - :uintN or :ip4_addr or :ip6_addr or :mac_addr or :string - :name id: - :skip pen2: id: - :octetarray - :name
请注意,字段在 NetFlow V9 和 IPFIX 之间共享。对 IPFIX PEN 零的更改等同于对 NetFlow 字段的更改。
覆盖标准字段的名称和/或类型可能会阻止 ECS 字段的映射正常工作。
detect_sequence_reset
编辑控制 Filebeat 是否应监控 Netflow 数据包中的序列号以检测导出进程重置的标志。检测到此条件时,将丢弃给定导出的记录模板。这将导致流量丢失,直到导出程序提供新的模板。如果设置为 false
,Filebeat 将忽略序列号,如果导出程序进程重置,这可能会导致某些无效的流。此选项仅适用于 Netflow V9 和 IPFIX。默认为 true
。
internal_networks
编辑描述您认为是内部的 IP 地址的 CIDR 范围列表。这用于确定 source.locality
、destination.locality
和 flow.locality
的值。值可以是 CIDR 值,也可以是 network
条件支持的命名范围之一。默认值为 [private]
,它将 RFC 1918 (IPv4) 和 RFC 4193 (IPv6) 地址分类为内部地址。
通用选项
编辑所有输入都支持以下配置选项。
enabled
编辑使用 enabled
选项启用和禁用输入。默认情况下,enabled 设置为 true。
tags
编辑Filebeat 在每个发布事件的 tags
字段中包含的标签列表。标签使您可以轻松地在 Kibana 中选择特定事件或在 Logstash 中应用条件过滤。这些标签将附加到常规配置中指定的标签列表中。
示例
filebeat.inputs: - type: netflow . . . tags: ["json"]
fields
编辑您可以指定的可选字段,以向输出添加其他信息。例如,您可以添加可用于过滤日志数据的字段。字段可以是标量值、数组、字典或这些值的任何嵌套组合。默认情况下,您在此处指定的字段将在输出文档中的 fields
子字典下分组。要将自定义字段存储为顶级字段,请将 fields_under_root
选项设置为 true。如果在常规配置中声明了重复字段,则其值将被此处声明的值覆盖。
filebeat.inputs: - type: netflow . . . fields: app_id: query_engine_12
fields_under_root
编辑如果将此选项设置为 true,则自定义fields 将作为输出文档中的顶级字段存储,而不是在 fields
子字典下分组。如果自定义字段名称与 Filebeat 添加的其他字段名称冲突,则自定义字段将覆盖其他字段。
processors
编辑应用于输入数据的处理器列表。
请参阅处理器,了解有关在配置中指定处理器的信息。
pipeline
编辑为此输入生成的事件设置的摄取管道 ID。
也可以在 Elasticsearch 输出中配置管道 ID,但这通常会导致更简单的配置文件。如果在输入和输出中都配置了管道,则使用输入中的选项。
keep_null
编辑如果将此选项设置为 true,则输出文档中将发布具有 null
值的字段。默认情况下,keep_null
设置为 false
。
index
编辑如果存在,此格式化字符串将覆盖此输入的事件索引(对于 elasticsearch 输出),或设置事件元数据的 raw_index
字段(对于其他输出)。此字符串只能引用代理名称和版本以及事件时间戳;要访问动态字段,请使用 output.elasticsearch.index
或处理器。
示例值:"%{[agent.name]}-myindex-%{+yyyy.MM.dd}"
可能会扩展为 "filebeat-myindex-2019.11.01"
。
publisher_pipeline.disable_host
编辑默认情况下,所有事件都包含 host.name
。此选项可以设置为 true
以禁用将此字段添加到所有事件。默认值为 false
。
指标
编辑此输入在HTTP 监控端点下公开指标。这些指标在 /inputs/
路径下公开。它们可用于观察输入的活动。
必须为输入分配唯一的 id
才能公开指标。
指标 | 描述 |
---|---|
|
UDP 流的主机/端口。 |
|
UDP 套接字缓冲区长度大小(以字节为单位)(规范)。 |
|
已接收的数据包(事件)总数。 |
|
已接收的总字节数。 |
|
系统接收队列的聚合大小 (IPv4 和 IPv6)(仅限 Linux)(规范)。 |
|
系统数据包丢失的聚合数量 (IPv4 和 IPv6)(仅限 Linux)(规范)。 |
|
连续数据包之间的时间直方图(以纳秒为单位)。 |
|
处理数据包所需时间的直方图(以纳秒为单位)。 |
|
已丢弃的事件总数。 |
|
解码数据包时的错误总数。 |
|
已接收的流总数。 |
|
当前活动 Netflow 会话的数量。 |
直方图指标在之前的 1024 个事件中进行聚合。