应用性能指标

# 1. 服务列表

无需向应用中插入任何代码,DeepFlow 自动生成所有服务的应用性能指标。 数据库表名:flow_metrics.application

# 1.1 标签

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

Name DisplayName Description
time 时间
region 区域
az 可用区
host 宿主机 承载虚拟机的宿主机。
chost 云服务器 包括虚拟机、裸金属服务器。
vpc 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 服务
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 进程
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
ip IP 地址
is_ipv4 IPv4 标志
protocol 网络协议
server_port 服务端口
l7_protocol 应用协议
app_service 应用服务
app_instance 应用实例
endpoint 端点
tap 采集点 已废弃,请使用 capture_network_type。
capture_network_type 网络位置 采集流量的网络位置,使用固定值(云网络)表示云内流量,其他值表示传统 IDC 流量(支持最多 254 个自定义值表示镜像分光的位置)。
vtap 采集器 已废弃,请使用 agent。
agent 采集器
signal_source 信号源
role 角色
biz_type 业务类型

generate from csv file: application.ch

# 1.2 指标

Metrics 列表:吞吐、时延、异常,详细字段描述如下。

Field DisplayName Unit Description
request 请求 请求总数
response 响应 响应总数
rrt 平均时延 微秒 采集周期内所有应用时延的平均值,单次应用时延等于响应与请求的时间差
rrt_max 最大时延 微秒 采集周期内所有应用时延的最大值,单次应用时延等于响应与请求的时间差
error 异常 客户端异常 + 服务端异常
client_error 客户端异常 根据具体应用协议的响应码判断异常,不同协议的定义见 l7_flow_logresponse_status 字段的说明
server_error 服务端异常 根据具体应用协议的响应码判断异常,不同协议的定义见 l7_flow_logresponse_status 字段的说明
timeout 超时 应用超时的统计次数(默认配置下:TCP 类应用在 1800s 内未采集到响应,UDP 类应用在 150s 内未采集到响应)
error_ratio 异常比例 % 异常 / 响应
client_error_ratio 客户端异常比例 % 客户端异常 / 响应
server_error_ratio 服务端异常比例 % 服务端异常 / 响应
row 行数

generate from csv file: application.ch

# 1.3 Grafana Dashboard

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

Application K8s Pod

Application K8s Pod

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

# 2. 服务全景图

无需向应用中插入任何代码,DeepFlow 自动生成所有服务的全栈访问路径和应用性能指标。 数据库表名:flow_metrics.application_map

# 2.1 标签

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

Name DisplayName Description
time 时间
region 区域
az 可用区
host 宿主机 承载虚拟机的宿主机。
chost 云服务器 包括虚拟机、裸金属服务器。
vpc 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 服务
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
ip IP 地址
is_ipv4 IPv4 标志
is_internet Internet IP 标志 IP 地址是否为外部 Internet 地址。
protocol 网络协议
tunnel_type 隧道类型
server_port 服务端口
l7_protocol 应用协议
app_service 应用服务
app_instance 应用实例
endpoint 端点
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 观测点 采集位置在流量路径中所处的逻辑位置,例如客户端网卡、客户端容器节点、服务端容器节点、服务端网卡等。
signal_source 信号源
biz_type 业务类型

generate from csv file: application_map.ch

# 2.2 指标

Metrics 列表:吞吐、时延、异常,详细字段描述如下。

Field DisplayName Unit Description
request 请求 请求总数
response 响应 响应总数
direction_score 方向得分 算法推理应用层连接方向(客户端、服务端角色)的准确性得分值,得分越高连接方向的准确性越高,得分最高 255
rrt 平均时延 微秒 采集周期内所有应用时延的平均值,单次应用时延等于响应与请求的时间差
rrt_max 最大时延 微秒 采集周期内所有应用时延的最大值,单次应用时延等于响应与请求的时间差
error 异常 客户端异常 + 服务端异常
client_error 客户端异常 根据具体应用协议的响应码判断异常,不同协议的定义见 l7_flow_logresponse_status 字段的说明
server_error 服务端异常 根据具体应用协议的响应码判断异常,不同协议的定义见 l7_flow_logresponse_status 字段的说明
timeout 超时 应用超时的统计次数(默认配置下:TCP 类应用在 1800s 内未采集到响应,UDP 类应用在 150s 内未采集到响应)
error_ratio 异常比例 % 异常 / 响应
client_error_ratio 客户端异常比例 % 客户端异常 / 响应
server_error_ratio 服务端异常比例 % 服务端异常 / 响应
row 行数

generate from csv file: application_map.ch

# 2.3 Grafana Dashboard

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

Application K8s Pod Map

Application K8s Pod Map

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