网络流日志

创建时间:2024-06-01 最近修改时间:2024-06-24

无需向应用中插入任何代码,DeepFlow 自动生成所有服务的网络流日志。 数据库表名:flow_log.l4_flow_log

#1. 标签

自动注入的 Tag 列表:IP、协议、端口、网络包头字段、采集位置、云资源、K8s 资源、K8s 自定义 Label,详细字段描述如下。

Name DisplayName Description
_id UID
time 时间 将 end_time 取整到秒。
region 区域
az 可用区
host 宿主机 承载虚拟机的宿主机。
chost 云服务器 包括虚拟机、裸金属服务器。
vpc VPC
l2_vpc 转发 VPC MAC 地址所在的 VPC。
subnet 子网
router 路由器
dhcpgw DHCP 网关
lb 负载均衡器
lb_listener 负载均衡监听器
natgw NAT 网关
redis Redis
rds RDS
pod_cluster K8s 容器集群
pod_ns K8s 命名空间
pod_node K8s 容器节点
pod_ingress K8s Ingress
pod_service K8s 容器服务
pod_group_type K8s 工作负载类型
pod_group K8s 工作负载 例如 Deployment、StatefulSet、Daemonset 等。
pod K8s 容器 POD
service 服务 已废弃,请使用 pod_service
resource_gl0_type 自动实例类型 已废弃,请使用 auto_instance_type。
resource_gl0 自动实例 已废弃,请使用 auto_instance。
resource_gl1_type 自动服务类型 已废弃,请使用 auto_service_type。
resource_gl1 自动服务 已废弃,请使用 auto_service。
resource_gl2_type 自动服务类型 已废弃,请使用 auto_service_type。
resource_gl2 自动服务 已废弃,请使用 auto_service。
auto_instance_type 自动实例类型 auto_instance实例对应的类型。
auto_instance 自动实例 IP 对应的实例,实例为IP时,auto_instance_id显示为子网ID。
auto_service_type 自动服务类型 auto_service实例对应的类型。
auto_service 自动服务 auto_instance基础上,将容器服务的 ClusterIP 与工作负载聚合为服务,实例为IP时,auto_service_id显示为子网ID。
gprocess 进程
tap_port_host 采集网卡所属宿主机 已废弃,请使用 capture_nic_host。
tap_port_chost 采集网卡所属云服务器 已废弃,请使用 capture_nic_chost。
tap_port_pod_node 采集网卡所属容器节点 已废弃,请使用 capture_nic_pod_node。
capture_nic_host 采集网卡所属宿主机
capture_nic_chost 采集网卡所属云服务器
capture_nic_pod_node 采集网卡所属容器节点
host_ip 宿主机 宿主机的管理 IP。
host_hostname 宿主机 宿主机的 Hostname。
chost_ip 云服务器 云服务器的主 IP。
chost_hostname 云服务器 云服务器的 Hostname。
pod_node_ip K8s 容器节点 容器节点的主 IP。
pod_node_hostname K8s 容器节点 容器节点的 Hostname。
k8s.label K8s Label
k8s.annotation K8s Annotation
k8s.env K8s Env
cloud.tag Cloud Tag
os.app OS APP
eth_type 链路协议
vlan VLAN TAG
mac MAC 地址
ip IP 地址
is_ipv4 IPv4 标志
is_internet Internet IP 标志 IP 地址是否为外部 Internet 地址。
province 省份 Internet IP 地址所属的省份。
protocol 网络协议
tunnel_tier 隧道层数
tunnel_type 隧道类型
tunnel_tx_id 请求隧道 ID
tunnel_rx_id 响应隧道 ID
tunnel_tx_ip 请求隧道 IP
tunnel_tx_ip_0 请求隧道源 IP
tunnel_tx_ip_1 请求隧道目 IP
tunnel_rx_ip 响应隧道 IP
tunnel_rx_ip_0 响应隧道源 IP
tunnel_rx_ip_1 响应隧道目 IP
tunnel_tx_mac 请求隧道 MAC
tunnel_tx_mac_0 请求隧道源 MAC
tunnel_tx_mac_1 请求隧道目 MAC
tunnel_rx_mac 响应隧道 MAC
tunnel_rx_mac_0 响应隧道源 MAC
tunnel_rx_mac_1 响应隧道目 MAC
client_port 客户端口
server_port 服务端口
tcp_flags_bit TCP 标志位集合 当前自然分钟内所有包中 TCP 标志位的集合。
syn_seq SYN 包 Seq 号
syn_ack_seq SYN-ACK 包 Seq 号
last_keepalive_seq 心跳包 Seq 号 最近一个心跳包中的 SEQ 序列号。
last_keepalive_ack 心跳包 Ack 号 最近一个心跳包中的 ACK 确认号。
l7_protocol 应用协议
request_domain 请求域名
flow_id 流日志 ID
start_time 开始时间 单位: 微秒。表示当前自然分钟内流的开始时间,对于新建流表示首包时间。
end_time 结束时间 单位: 微秒。表示当前自然分钟内流的结束时间,若流在该分钟内 close,则为尾包时间或流状态机超时的时间。
close_type 流结束类型
status 状态 根据协议(protocol)、流结束类型(close_type)分类。 正常包括:正常结束周期性上报断连-XX半关传输-超时(非 TCP 协议)。 客户端异常包括:建连-客户端XX传输-客户端XX服务端异常包括:建连-服务端XX传输-服务端XX传输-超时(TCP 协议)。 未知=未知
is_new_flow 新建流
signal_source 信号源
tap 采集点 已废弃,请使用 capture_network_type。
capture_network_type 网络位置 采集流量的网络位置,使用固定值(云网络)表示云内流量,其他值表示传统 IDC 流量(支持最多 254 个自定义值表示镜像分光的位置)。
vtap 采集器 已废弃,请使用 agent。
agent 采集器
nat_source NAT 源
tap_port 采集位置标识 已废弃,请使用 capture_nic。
tap_port_name 采集位置名称 已废弃,请使用 capture_nic_name。
tap_port_type 采集位置类型 已废弃,请使用 capture_nic_type。
capture_nic 采集网卡标识 当采集位置类型为本地网卡时,此值表示采集网卡的 MAC 地址后缀(后四字节)。
capture_nic_name 采集网卡名称 当采集位置类型为本地网卡时,此值表示采集网卡的名称。
capture_nic_type 采集网卡类型 表示流量采集位置的类型,包括本地网卡(云内流量)、云网关网卡(云网关流量)、分光镜像(传统 IDC 流量)等。
tap_side 路径统计位置 已废弃,请使用 observation_point。
observation_point 观测点 采集位置在流量路径中所处的逻辑位置,例如客户端网卡、客户端容器节点、服务端容器节点、服务端网卡等。
l2_end 二层边界 表示是否是在客户端网卡或服务端网卡处采集的流量。
l3_end 三层边界 表示是否是在客户端或服务端所在二层网络内采集的流量。
has_pcap PCAP 文件 是否存储了 PCAP 文件
nat_real_ip NAT IP 地址 NAT 作用前(后)的真实 IP 地址,该值从 TOA(TCP Option Address)中提取,或者根据云平台中 VIP 与 RIP 的映射信息计算。
nat_real_port NAT Port NAT 作用前的真实端口号,该值从 TOA(TCP Option Address)中提取。

generate from csv file: l4_flow_log.ch

#2. 指标

Metrics 列表:吞吐、负载、时延、TCP 异常、重传、零窗,详细字段描述如下。

Field DisplayName Unit Description
byte 字节 字节
byte_tx 发送字节 字节 客户端发往服务端的字节数总和(含 Ethernet 头)
byte_rx 接收字节 字节 服务端发往客户端的字节数总和(含 Ethernet 头)
total_byte_tx 累计发送字节 字节
total_byte_rx 累计接收字节 字节
packet 包数
packet_tx 发送包数 客户端发往服务端的包数总和
packet_rx 接收包数 服务端发往客户端的包数总和
total_packet_tx 累计发送包数
total_packet_rx 累计接收包数
l3_byte 网络层载荷 字节
l3_byte_tx 发送网络层载荷 字节 客户端发往服务端的网络层载荷字节数总和(不含 IP 头)
l3_byte_rx 接收网络层载荷 字节 服务端发往客户端的网络层载荷字节数总和(不含 IP 头)
bpp 平均包长 字节
bpp_tx 平均发送包长 字节
bpp_rx 平均接收包长 字节
new_flow 新建连接 连接
closed_flow 关闭连接 连接
syn_count SYN 包数 SYN 包的总数
synack_count SYN-ACK 包数 SYN-ACK 包的总数
l4_byte 传输层载荷 字节
l4_byte_tx 发送传输层载荷 字节 客户端发往服务端的包传输层载荷字节数总和(不含 TCP/UDP 头)
l4_byte_rx 接收传输层载荷 字节 服务端发往客户端的包传输层载荷字节数总和(不含 TCP/UDP 头)
direction_score 方向得分 算法推理传输层连接方向(客户端、服务端角色)的准确性得分值,得分越高连接方向的准确性越高,得分最高 255
log_count 日志总量
retrans_syn SYN 重传 SYN 包的重传次数
retrans_synack SYN-ACK 重传 SYN-ACK 包的重传次数
retrans TCP 重传
retrans_tx TCP 客户端重传 TCP 连接客户端发往服务端的重传包次数
retrans_rx TCP 服务端重传 TCP 连接服务端发往客户端的重传包次数
zero_win TCP 零窗
zero_win_tx TCP 客户端零窗 TCP 连接客户端发往服务端的零窗包次数
zero_win_rx TCP 服务端零窗 TCP 连接服务端发往客户端的零窗包次数
retrans_syn_ratio SYN 重传比例 %
retrans_synack_ratio SYN-ACK 重传比例 %
retrans_ratio TCP 重传比例 %
retrans_tx_ratio TCP 客户端重传比例 %
retrans_rx_ratio TCP 服务端重传比例 %
zero_win_ratio TCP 零窗比例 %
zero_win_tx_ratio TCP 客户端零窗比例 %
zero_win_rx_ratio TCP 服务端零窗比例 %
tcp_establish_fail 建连-失败次数
client_establish_fail 建连-客户端失败次数
server_establish_fail 建连-服务端失败次数
tcp_establish_fail_ratio 建连-失败比例 %
client_establish_fail_ratio 建连-客户端失败比例 %
server_establish_fail_ratio 建连-服务端失败比例 %
tcp_transfer_fail 传输-失败次数 所有传输错误。
tcp_transfer_fail_ratio 传输-失败比例 %
tcp_rst_fail 重置次数 连接 所有重置错误。
tcp_rst_fail_ratio 重置比例 %
client_source_port_reuse 建连-客户端端口复用 连接
server_syn_miss 建连-服务端 SYN 缺失 连接
client_establish_other_rst 建连-客户端其他重置 连接
client_ack_miss 建连-客户端 ACK 缺失 连接
server_reset 建连-服务端直接重置 连接
server_establish_other_rst 建连-服务端其他重置 连接
client_rst_flow 传输-客户端重置 连接
server_rst_flow 传输-服务端重置 连接
server_queue_lack 传输-服务端队列溢出 连接
tcp_timeout 传输-TCP 连接超时 连接
client_half_close_flow 断连-客户端半关 连接 TCP 断连异常的场景之一,见文档描述。
server_half_close_flow 断连-服务端半关 连接 TCP 断连异常的场景之一,见文档描述。
rtt 平均 TCP 建连时延 微秒
tls_rtt 平均 TLS 建连时延 微秒
rtt_client 平均 TCP 建连客户端时延 微秒
rtt_server 平均 TCP 建连服务端时延 微秒
srt 平均 TCP/ICMP 系统时延 微秒
art 平均数据时延 微秒
cit 平均客户端等待时延 微秒
rtt_max 最大 TCP 建连时延 微秒
tls_rtt_max 最大 TLS 建连时延 微秒
rtt_client_max 最大 TCP 建连客户端时延 微秒
rtt_server_max 最大 TCP 建连服务端时延 微秒
srt_max 最大 TCP/ICMP 系统时延 微秒
art_max 最大数据时延 微秒
cit_max 最大客户端等待时延 微秒
srt_sum 累计 TCP/ICMP 系统时延 微秒 采集周期内全部TCP/ICMP 系统时延的加和
srt_count TCP/ICMP 系统时延次数 采集周期内TCP/ICMP 系统时延的次数
art_sum 累计数据时延 微秒 采集周期内全部数据时延的加和
art_count 数据时延次数 采集周期内数据时延的次数
cit_sum 累计客户端等待时延 微秒 采集周期内全部客户端等待时延的加和
cit_count 客户端等待时延次数 采集周期内客户端等待时延的次数
duration 流持续时间 微秒 表示流的首包到尾包(注意不是 end_time)的时长。
l7_request 应用请求
l7_response 应用响应
rrt 平均应用时延 微秒
rrt_sum 累计应用时延 微秒 采集周期内全部应用时延的加和
rrt_count 应用时延次数 采集周期内应用时延的次数
rrt_max 最大应用时延 微秒
l7_error 应用异常
l7_client_error 应用客户端异常 根据具体应用协议的响应码判断异常,不同协议的定义见 l7_flow_log 中 response_status 字段的说明
l7_server_error 应用服务端异常 根据具体应用协议的响应码判断异常,不同协议的定义见 l7_flow_log 中 response_status 字段的说明
l7_server_timeout 应用服务端超时 应用超时的统计次数(默认配置下:TCP 类应用在 1800s 内未采集到响应,UDP 类应用在 150s 内未采集到响应)
l7_error_ratio 应用异常比例 %
l7_client_error_ratio 应用客户端异常比例 %
l7_server_error_ratio 应用服务端异常比例 %
l7_parse_failed 应用协议解析失败 累计应用协议解析失败次数,最大值 MAX_U32
row 行数

generate from csv file: l4_flow_log.ch

#3. Grafana Dashboard

基于上述数据可通过 Grafana 构建丰富的 Dashboard。我们在 Grafana 中预置了一个 Network - Flow Log Dashboard,效果图如下:

Network Flow Log

Network Flow Log

你也可以访问 DeepFlow Online Demo (opens new window) 查看效果。