解析 AWS VPC 流日志
编辑解析 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 流日志消息的源字段。 |
|
|
否 |
|
VPC 流日志对象的目标字段。这仅适用于原始 VPC 流日志字段。ECS 字段写入标准位置。 |
|
|
是 |
VPC 流日志格式。这支持版本 2 到 5 的 VPC 流日志字段。它将接受字符串或字符串列表。每个格式必须具有唯一的字段数量,以便能够将其与流日志消息匹配。 |
||
|
否 |
|
模式控制生成哪些字段。可用选项为 |
|
|
否 |
false |
忽略缺少的源字段。 |
|
|
否 |
false |
在解析和转换流日志消息时忽略错误。 |
|
|
否 |
用于调试目的的实例 ID。 |
模式
编辑原始
编辑此模式返回在 format
字符串中找到的相同字段。它将删除值为连字符 (-
) 的任何字段。它将字符串转换为相应的数据类型。以下是已知的字段名称及其数据类型。
AWS VPC 流字段名称在 Filebeat 中使用下划线而不是连字符。您可以使用包含任一字符的字段名称配置 format
。
VPC 流日志字段 | 数据类型 | |
---|---|---|
account_id |
字符串 |
|
action |
字符串 |
|
az_id |
字符串 |
|
bytes |
长整型 |
|
dstaddr |
IP |
|
dstport |
整数 |
|
end |
时间戳 |
|
flow_direction |
字符串 |
|
instance_id |
字符串 |
|
interface_id |
字符串 |
|
log_status |
字符串 |
|
packets |
长整型 |
|
pkt_dst_aws_service |
字符串 |
|
pkt_dstaddr |
IP |
|
pkt_src_aws_service |
字符串 |
|
pkt_srcaddr |
IP |
|
protocol |
整数 |
|
region |
字符串 |
|
srcaddr |
IP |
|
srcport |
整数 |
|
start |
时间戳 |
|
sublocation_id |
字符串 |
|
sublocation_type |
字符串 |
|
subnet_id |
字符串 |
|
tcp_flags |
整数 |
|
tcp_flags_array* |
整数 |
|
traffic_path |
整数 |
|
type |
字符串 |
|
version |
整数 |
|
vpc_id |
字符串 |
ECS
编辑此模式将原始 VPC 流日志字段映射到其关联的 Elastic Common Schema (ECS) 字段。它删除了映射到 ECS 的原始字段以减少重复。这些是字段关联。可能应用一些转换以导出 ECS 字段。
VPC 流日志字段 | ECS 字段 | |
---|---|---|
account_id |
cloud.account.id |
|
action |
event.outcome |
|
action |
event.action |
|
action |
event.type |
|
az_id |
cloud.availability_zone |
|
bytes |
network.bytes |
|
bytes |
source.bytes |
|
dstaddr |
destination.address |
|
dstaddr |
destination.ip |
|
dstport |
destination.port |
|
end |
@timestamp |
|
end |
event.end |
|
flow_direction |
network.direction |
|
instance_id |
cloud.instance.id |
|
packets |
network.packets |
|
packets |
source.packets |
|
protocol |
network.iana_number |
|
protocol |
network.transport |
|
region |
cloud.region |
|
srcaddr |
network.type |
|
srcaddr |
source.address |
|
srcaddr |
source.ip |
|
srcport |
source.port |
|
start |
event.start |
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 } }