配置流以监控网络流量

编辑

配置流以监控网络流量编辑

您可以配置 Packetbeat 来收集和报告网络流的统计信息。是同一时间段内通过相同源地址和目标地址以及协议发送的一组数据包。您可以使用此功能来分析网络上特定协议的网络流量。

对于每个流,Packetbeat 报告从源到目标发送的数据包数量和总字节数。每个流事件还包含有关源主机和目标主机的信息,例如它们的 IP 地址。对于双向流,Packetbeat 报告反向流的统计信息。

Packetbeat 收集并报告传输层及以下的统计信息。有关导出数据的更多信息,请参阅 流事件字段

以下是在 Flows 仪表板中可视化的流事件示例

flows

要配置流,请在 packetbeat.yml 配置文件中使用 packetbeat.flows 选项。流默认情况下处于启用状态。如果配置文档中缺少此部分,则网络流将被禁用。

packetbeat.flows:
  timeout: 30s
  period: 10s

以下是由 Packetbeat 发送的流信息的示例。有关每个字段的描述,请参阅 流事件字段

{
  "@timestamp": "2018-11-15T14:41:24.000Z",
  "agent": {
    "hostname": "host.example.com",
    "name": "host.example.com",
    "version": "8.14.3"
  },
  "destination": {
    "bytes": 460,
    "ip": "198.51.100.2",
    "mac": "06-05-04-03-02-01",
    "packets": 2,
    "port": 80
  },
  "event": {
    "dataset": "flow",
    "duration": 3000000000,
    "end": "2018-11-15T14:41:24.000Z",
    "start": "2018-11-15T14:41:21.000Z"
  },
  "flow": {
    "final": true, 
    "id": "FQQA/wz/Dv//////Fv8BAQEBAgMEBQYGBQQDAgGrAMsAcQPGM2QC9ZdQAA",
    "vlan": 171
  },
  "network": {
    "bytes": 470,
    "community_id": "1:t9T66/2c66NQyftAEsr4aMZv4Hc=",
    "packets": 3,
    "transport": "tcp",
    "type": "ipv4"
  },
  "source": {
    "bytes": 10,
    "ip": "203.0.113.3",
    "mac": "01-02-03-04-05-06",
    "packets": 1,
    "port": 38901
  }
}

Packetbeat 将 flow.final 标志设置为 false,表示该事件包含有关其正在跟踪的流的中间报告。流完成后,Packetbeat 会发送一个带有 flow.final 设置为 true 的最后一个事件。如果要聚合流量总和,则需要根据 final:true 进行过滤,或使用其他方法,这样您才能获得每个流的最新更新。您可以通过将 period: -1s 设置为禁用中间报告。

配置选项编辑

您可以在 packetbeat.yml 配置文件的 packetbeat.flows 部分中指定以下选项

enabled编辑

如果设置为 true,则启用流支持。设置为 false 以禁用网络流支持,而无需删除或注释掉流部分。默认值为 true。

timeout编辑

Timeout 配置流的生存期。如果在超时时间窗口内没有收到任何流数据包,则该流将被终止并报告。默认值为 30 秒。

period编辑

配置报告间隔。所有流都在同一时间点报告。可以通过将值设置为 -1 来禁用定期报告。如果禁用,流在超时后仍会报告一次。默认值为 10 秒。

enable_delta_flow_reports编辑

配置 network.bytes 和 network.packets,使其成为每个流周期的增量值,而不是累积总和。默认值为 false。

fields编辑

您可以指定以向输出添加更多信息的可选字段。例如,您可能添加了用于过滤日志数据的字段。字段可以是标量值、数组、字典或这些的任何嵌套组合。默认情况下,您在此处指定的字段将分组在输出文档中的 fields 子字典下。要将自定义字段存储为顶级字段,请将 fields_under_root 选项设置为 true。如果在常规配置中声明了重复字段,则其值将被此处声明的值覆盖。

fields_under_root编辑

如果将此选项设置为 true,则自定义 fields 将存储为输出文档中的顶级字段,而不是分组在 fields 子字典下。如果自定义字段名称与 Packetbeat 添加的其他字段名称冲突,则自定义字段将覆盖其他字段。

tags编辑

将与协议事件一起发送的标签列表。此设置是可选的。

processors编辑

要应用于协议生成的数据的处理器列表。

有关在配置中指定处理器的信息,请参阅 处理器

keep_null编辑

如果将此选项设置为 true,则具有 null 值的字段将在输出文档中发布。默认情况下,keep_null 设置为 false

index编辑

覆盖流事件发布到的索引。