解析 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
配置设置编辑
Elastic Agent 处理器在摄取管道之前执行,这意味着您的处理器配置不能引用由摄取管道或 Logstash 创建的字段。有关更多限制,请参阅 使用处理器的局限性是什么?
名称 | 必需 | 默认值 | 描述 |
---|---|---|---|
|
否 |
|
包含 VPC 流日志消息的源字段。 |
|
否 |
|
VPC 流日志对象的目標字段。这仅适用于原始 VPC 流日志字段。ECS 字段将写入标准位置。 |
|
是 |
VPC 流日志格式。这支持版本 2 到 5 的 VPC 流日志字段。它将接受字符串或字符串列表。每个格式必须具有唯一数量的字段,以使其能够与流日志消息匹配。 |
|
|
否 |
|
控制生成哪些字段。可用的选项是
要了解更多信息,请参阅 模式。 |
|
否 |
false |
是否忽略缺少的源字段。 |
|
否 |
false |
是否忽略解析和转换流日志消息时的错误。 |
|
否 |
用于调试目的的实例 ID。 |
模式编辑
本节提供有关可用模式的更多信息。
原始编辑
此模式返回在 format
字符串中找到的相同字段。它将删除其值为连字符 (-
) 的任何字段。它将字符串转换为适当的数据类型。这些是已知的字段名称及其数据类型。
AWS VPC 流字段名称在 Elastic Agent 中使用下划线而不是连字符。您可以使用包含两者之一的字段名称来配置 format
。
VPC 流日志字段 | 数据类型 | |
---|---|---|
account_id |
string |
|
action |
string |
|
az_id |
string |
|
bytes |
long |
|
dstaddr |
ip |
|
dstport |
integer |
|
end |
timestamp |
|
flow_direction |
string |
|
instance_id |
string |
|
interface_id |
string |
|
log_status |
string |
|
packets |
long |
|
pkt_dst_aws_service |
string |
|
pkt_dstaddr |
ip |
|
pkt_src_aws_service |
string |
|
pkt_srcaddr |
ip |
|
protocol |
integer |
|
region |
string |
|
srcaddr |
ip |
|
srcport |
integer |
|
start |
timestamp |
|
sublocation_id |
string |
|
sublocation_type |
string |
|
subnet_id |
string |
|
tcp_flags |
integer |
|
tcp_flags_array* |
integer |
|
traffic_path |
integer |
|
type |
string |
|
version |
integer |
|
vpc_id |
string |
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 } }