解析 AWS VPC 流量日志编辑

parse_aws_vpc_flow_log 处理器解码 AWS VPC 流量日志消息。

以下是一个示例配置,它使用默认的版本 2 VPC 流量日志格式解码 message 字段。

processors:
  - parse_aws_vpc_flow_log:
      format: version account-id interface-id srcaddr dstaddr srcport dstport protocol packets bytes start end action log-status
      field: message

parse_aws_vpc_flow_log 处理器具有以下配置设置。

表 4. 解析 AWS VPC 流量日志选项

名称 必需 默认值 描述

字段

消息

包含 VPC 流量日志消息的源字段。

目标字段

aws.vpcflow

VPC 流量日志对象的的目标字段。这仅适用于原始 VPC 流量日志字段。ECS 字段将写入标准位置。

格式

VPC 流量日志格式。这支持版本 2 到 5 的 VPC 流量日志字段。它将接受一个字符串或一个字符串列表。每个格式必须具有唯一数量的字段,以便将其匹配到流量日志消息。

模式

ecs

模式控制生成哪些字段。可用选项为 originalecsecs_and_originaloriginal 生成格式字符串中指定的字段。ecs 将原始字段映射到 ECS,并删除映射到 ECS 的原始字段。ecs_and_original 将原始字段映射到 ECS,并保留所有原始字段。

忽略缺失

忽略缺少的源字段。

忽略失败

在解析和转换流量日志消息时忽略失败。

id

用于调试的实例 ID。

模式编辑

原始编辑

此模式返回在 format 字符串中找到的相同字段。它将删除任何值为破折号 (-) 的字段。它将字符串转换为适当的数据类型。以下是已知的字段名称及其数据类型。

AWS VPC 流量字段名称在 Filebeat 中使用下划线而不是破折号。您可以使用包含两者的字段名称配置 format

VPC 流量日志字段 数据类型

账号 ID

字符串

操作

字符串

可用区 ID

字符串

字节数

长整型

目标地址

IP

目标端口

整数

结束时间

时间戳

流量方向

字符串

实例 ID

字符串

接口 ID

字符串

日志状态

字符串

数据包数

长整型

数据包目标 AWS 服务

字符串

数据包目标地址

IP

数据包源 AWS 服务

字符串

数据包源地址

IP

协议

整数

区域

字符串

源地址

IP

源端口

整数

开始时间

时间戳

子位置 ID

字符串

子位置类型

字符串

子网 ID

字符串

TCP 标志

整数

TCP 标志数组*

整数

流量路径

整数

类型

字符串

版本

整数

VPC ID

字符串

ECS编辑

此模式将原始 VPC 流量日志字段映射到其关联的 Elastic 通用模式 (ECS) 字段。它删除了映射到 ECS 的原始字段,以减少重复。以下是字段关联。可能会应用一些转换来派生 ECS 字段。

VPC 流量日志字段 ECS 字段

账号 ID

云.账号.ID

操作

事件.结果

操作

事件.操作

操作

事件.类型

可用区 ID

云.可用区

字节数

网络.字节数

字节数

来源.字节数

目标地址

目标.地址

目标地址

目标.IP

目标端口

目标.端口

结束时间

@时间戳

结束时间

事件.结束时间

流量方向

网络.方向

实例 ID

云.实例.ID

数据包数

网络.数据包数

数据包数

来源.数据包数

协议

网络.IANA 编号

协议

网络.传输协议

区域

云.区域

源地址

网络.类型

源地址

来源.地址

源地址

来源.IP

源端口

来源.端口

开始时间

事件.开始时间

ECS 和原始编辑

此模式将字段映射到 ECS,并保留所有原始字段。以下是一个使用 ecs_and_orignal 模式生成的文档示例。

{
  "@timestamp": "2021-03-26T03:29:09Z",
  "aws": {
    "vpcflow": {
      "account_id": "64111117617",
      "action": "REJECT",
      "az_id": "use1-az5",
      "bytes": 1,
      "dstaddr": "10.200.0.0",
      "dstport": 33004,
      "end": "2021-03-26T03:29:09Z",
      "flow_direction": "ingress",
      "instance_id": "i-0axxxxxx1ad77",
      "interface_id": "eni-069xxxxxb7a490",
      "log_status": "OK",
      "packets": 52,
      "pkt_dst_aws_service": "CLOUDFRONT",
      "pkt_dstaddr": "10.200.0.80",
      "pkt_src_aws_service": "AMAZON",
      "pkt_srcaddr": "89.160.20.156",
      "protocol": 17,
      "region": "us-east-1",
      "srcaddr": "89.160.20.156",
      "srcport": 50041,
      "start": "2021-03-26T03:28:12Z",
      "sublocation_id": "fake-id",
      "sublocation_type": "wavelength",
      "subnet_id": "subnet-02d645xxxxxxxdbc0",
      "tcp_flags": 1,
      "tcp_flags_array": [
        "fin"
      ],
      "traffic_path": 1,
      "type": "IPv4",
      "version": 5,
      "vpc_id": "vpc-09676f97xxxxxb8a7"
    }
  },
  "cloud": {
    "account": {
      "id": "64111117617"
    },
    "availability_zone": "use1-az5",
    "instance": {
      "id": "i-0axxxxxx1ad77"
    },
    "region": "us-east-1"
  },
  "destination": {
    "address": "10.200.0.0",
    "ip": "10.200.0.0",
    "port": 33004
  },
  "event": {
    "action": "reject",
    "end": "2021-03-26T03:29:09Z",
    "outcome": "failure",
    "start": "2021-03-26T03:28:12Z",
    "type": [
      "connection",
      "denied"
    ]
  },
  "message": "5 64111117617 eni-069xxxxxb7a490 89.160.20.156 10.200.0.0 50041 33004 17 52 1 1616729292 1616729349 REJECT OK vpc-09676f97xxxxxb8a7 subnet-02d645xxxxxxxdbc0 i-0axxxxxx1ad77 1 IPv4 89.160.20.156 10.200.0.80 us-east-1 use1-az5 wavelength fake-id AMAZON CLOUDFRONT ingress 1",
  "network": {
    "bytes": 1,
    "direction": "ingress",
    "iana_number": "17",
    "packets": 52,
    "transport": "udp",
    "type": "ipv4"
  },
  "related": {
    "ip": [
      "89.160.20.156",
      "10.200.0.0",
      "10.200.0.80"
    ]
  },
  "source": {
    "address": "89.160.20.156",
    "bytes": 1,
    "ip": "89.160.20.156",
    "packets": 52,
    "port": 50041
  }
}