GoFlow2
编辑GoFlow2
编辑GoFlow2 集成允许您导入 goflow2 生成的日志。
此集成中唯一支持的 goflow2 协议/规范化是 sFlow。尚未支持 IPFIX 和/或 NetFlow 的规范化。
数据流
编辑sflow
编辑Goflow2 sFlow 集成收集一种类型的数据流:日志
示例事件
编辑示例
sflow
的示例事件如下所示
{ "@timestamp": "2024-07-31T00:00:59.314Z", "destination": { "address": [ "216.160.83.58" ], "as": { "number": 209 }, "geo": { "city_name": "Milton", "continent_name": "North America", "country_iso_code": "US", "country_name": "United States", "location": { "lat": 47.2513, "lon": -122.3149 }, "region_iso_code": "US-WA", "region_name": "Washington" }, "ip": "216.160.83.58", "port": 443 }, "ecs": { "version": "8.11.0" }, "event": { "action": "SFLOW_5", "category": [ "network" ], "kind": "event", "original": "{\"type\":\"SFLOW_5\",\"time_flow_start_ns\":1722384059314899647,\"sampler_address\":\"67.43.156.1\",\"sequence_num\":44555,\"in_if\":563,\"out_if\":573,\"src_addr\":\"216.160.83.57\",\"dst_addr\":\"216.160.83.58\",\"etype\":\"IPv4\",\"proto\":\"TCP\",\"src_port\":10876,\"dst_port\":443,\"src_vlan\":1500,\"dst_vlan\":1500,\"sampling_rate\":1000,\"bytes\":70}", "timezone": "+00:00", "type": [ "connection" ] }, "network": { "bytes": 70000, "packets": 1000, "transport": "tcp", "type": "ipv4" }, "observer": { "egress": { "interface": { "id": "573" }, "vlan": { "id": "1500" } }, "ingress": { "interface": { "id": "563" }, "vlan": { "id": "1500" } }, "ip": [ "67.43.156.1" ] }, "related": { "ip": [ "216.160.83.57", "216.160.83.58" ] }, "sflow": { "bytes": 70, "sample_rate": 1000, "sequence_num": 44555 }, "source": { "address": [ "216.160.83.57" ], "as": { "number": 209 }, "geo": { "city_name": "Milton", "continent_name": "North America", "country_iso_code": "US", "country_name": "United States", "location": { "lat": 47.2513, "lon": -122.3149 }, "region_iso_code": "US-WA", "region_name": "Washington" }, "ip": "216.160.83.57", "port": 10876 }, "tags": [ "preserve_original_event", "forwarded", "sflow" ] }
要求
编辑您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理它。您可以使用我们托管在 Elastic Cloud 上的 Elasticsearch 服务(推荐),或在您自己的硬件上自行管理 Elastic Stack。
您需要 GoFlow2 来创建 sFlow 流量的日志文件。 https://github.com/netsampler/goflow2
设置
编辑- 安装集成并部署 elastic agent
- 安装 GoFlow2 进行 sFlow 日志记录
请使用以下 GoFlow2 mapping.yaml 文件
# File: /etc/goflow2/mapping.yaml formatter: fields: # list of fields to format in JSON - type - time_flow_start_ns - sampler_address - sequence_num - in_if - out_if - src_addr - dst_addr - etype - proto - src_port - dst_port - src_vlan - dst_vlan - sampling_rate - bytes
输出的 sflow 传输文件必须存储在目录 /var/log/sflow/goflow2/
中
运行 GoFlow2 处理 sflow 流量的完整命令
goflow2 -format json -listen "sflow://:6343" -mapping /etc/goflow2/mapping.yaml -transport.file /var/log/sflow/goflow2/goflow2.log
字段
编辑导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
日期 |
data_stream.dataset |
数据流数据集。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
input.type |
输入类型 |
关键字 |
log.file.device_id |
此事件来源的日志文件的设备 ID。 |
关键字 |
log.file.inode |
此事件来源的日志文件的 inode。 |
关键字 |
log.offset |
日志偏移量 |
长整型 |
sflow.bytes |
示例数据包的原始大小(以字节为单位)。 |
长整型 |
sflow.sample_rate |
采样率。 |
长整型 |
sflow.sequence_num |
流序列号。 |
长整型 |