SE 时间流量跟踪器可以通过网络设备跟踪网络特性、关键检查点的处理时间,以及数据包旅程中的标记排队延迟。

通过 CLI 配置分析配置文件

以下是分析配置文件中使用的配置。

> show analyticsprofile System-Analytics-Profile
..
| latency_audit_props                 |                           |
|   latency_audit_mode                | LATENCY_AUDIT_OFF         |
|   latency_threshold                 | 20 milliseconds           |
|   conn_est_audit_mode               | LATENCY_AUDIT_ON          |
|   conn_est_threshold                | 40 milliseconds           |
+-------------------------------------+---------------------------+

审核属性如下所述。

审核属性

默认值

描述

latency_audit_mode

LATENCY_AUDIT_OFF

  • LATENCY_AUDIT_OFF - 默认情况下,不执行延迟审核。

  • LATENCY_AUDIT_ON - 启用延迟审核,其中包含违反所配置阈值的流量/数据包的统计信息/计数器。

  • LATENCY_AUDIT_ON_WITH_SIG - 启用延迟审核,将更新统计信息以及事件和重要日志。

latency_threshold

20 毫秒

如果将 latency_audit_mode 设置为 LATENCY_AUDIT_ON,这将能够跟踪每个数据包从调度程序到代理的延迟。这是一个阈值,如果每个数据包从调度程序到代理的延迟过高,则在超过该阈值时,将表示为事件、重要日志和衡量指标。

conn_est_audit_mode

LATENCY_AUDIT_ON

  • LATENCY_AUDIT_OFF - 不执行连接建立审核。

  • LATENCY_AUDIT_ON - Default - 启用连接建立审核,其中包含违反所配置阈值的流量/数据包的统计信息/计数器。

  • LATENCY_AUDIT_ON_WITH_SIG - 启用连接建立审核,将更新统计信息以及事件和重要日志。

conn_est_threshold

40 毫秒

如果将 conn_est_audit_mode 设置为 LATENCY_AUDIT_ON,这将能够跟踪 TCP 连接建立时间。这是异常检测的阈值,如果此阈值为 breached.se,将表示为事件、重要日志和衡量指标。

注:
  • 目前,仅 TCP/IPv4 支持 latency_audit_filters。

  • 如果 CPU 时间戳计数器 (Time Stamp Counter, TSC) 是变体,则时间跟踪器处于关闭状态。

  • 时间跟踪器延迟审核现在支持审核输出延迟。

在调试虚拟服务中配置 latency_audit_filters

这些筛选器包含 VS 捕获筛选器提供的所有选项。但是,latency_audit_filters 在功能上与捕获筛选器无关。

> debug virtualservice vs-1
..
[admin:vpr-ctrl1]: debugvirtualservice:latency_audit_filters>
cancel               Exit the current submode without saving
capture_ip           (submode)
capture_ipc          (submode)
do                   Execute a show command
dst_port_end         Destination Port range filter.
dst_port_start       Destination Port range filter.
eth_proto            Ethernet Proto filter.
ip_proto             IP Proto filter. Support for TCP only for now.
new                  (Editor Mode) Create new object in editor mode
no                   Remove field
save                 Save and exit the current submode
show_schema          show object schema
src_port             Source Port filter.
src_port_range_end   Source Port range end filter. If specified, the source port filter will be a range. The filter range will be between src_port and src_port_range_end.
tcp_ack              TCP ACK flag filter.
tcp_fin              TCP FIN flag filter.
tcp_push             TCP PUSH flag filter.
tcp_syn              TCP SYN flag filter.
watch                Watch a given show command
where                Display the in-progress object


注:
  • 延迟审核现在是 se_time_Tracker_properties 下 se_Group 的一部分。

  • SE TT 延迟审核(输入/输出)现在独立于 flow_type。

  • 调试 serviceengine 下的 Latency_audit_filters 现已弃用。

  • TT latency_audit 的应用程序日志和连接日志仍由分析配置文件下的一个控制项控制(此控制项为 ingress_sig_log)。这是为了允许在每个虚拟服务上单独调整日志生成行为。

连接建立审核是 analytics_profile > timetracker_properties 的一部分。时间跟踪器具有以下两个组件:

  • se_time_tracker_properties(审核 SE 特定的事件和计数器)

  • time_tracker_properties(审核虚拟服务/ANP 特定的事件和计数器)

要检查 SE 时间跟踪器属性,请使用 configure serviceenginegroup <se_group_name> 命令下的 se_time_tracker_props 选项。以下是 SE 时间跟踪器属性的示例输出。

| se_time_tracker_props                   |                                                         |
|   ingress_threshold                     | 4 milliseconds                                          |
|   egress_threshold                      | 4 milliseconds                                          |
|   ingress_audit_mode                    | SE_TT_AUDIT_ON_WITH_EVENT                               |
|   egress_audit_mode                     | SE_TT_AUDIT_ON_WITH_EVENT                               |
|   event_gen_window                      | 1 seconds                                               |
| grpc_channel_connect_timeout            | 15                                                      |
+-----------------------------------------+---------------------------------------------------------+

使用 configure analyticsprofile <profile_name> 命令和 time_tracker_properties 选项检查所选分析配置文件的时间跟踪器属性。

| time_tracker_props                              |                                                       |
|   fe_conn_est_audit_mode                        | TT_AUDIT_ON_WITH_SIG                                  |
|   fe_conn_est_threshold                         | 4 milliseconds                                        |
|   be_conn_est_audit_mode                        | TT_AUDIT_ON_WITH_SIG                                  |
|   be_conn_est_threshold                         | 4 milliseconds                                        |
|   ingress_sig_log                               | True                                                  |
+-------------------------------------------------+-------------------------------------------------------+

以下是时间跟踪器和 SE 时间跟踪器属性的默认值。

SE 时间跟踪器属性

(默认)

egress_audit_mode

SE_TT_AUDIT_OFF

egress_treshold_ms

20

event_gen_window_secs

300

ingress_audit_mode

SE_TT_AUDIT_OFF

ingress_treshold_ms

20

时间跟踪器属性

(默认)

be_conn_est_audit_mode

TT_AUDIT_ON

be_conn_est_treshold

40

fe_conn_est_audit_mode

TT_AUDIT_ON

fe_conn_est_treshold

40

ingress_sig_log

false

衡量指标和日志

该框架支持可按如下方式配置的衡量指标、事件和日志:

SE 级别的衡量指标:

[Demo:10-79-187-243]: > show serviceengine AviDemoSE-se-lskff rteringstat | grep exceed
| num_ingress_latency_exceeded_pkts | 112465061                                             |

虚拟服务级别的衡量指标:

[Demo:10-79-187-243]: > show virtualservice Avi-Demo internal | grep exceed
| num_ingress_latency_exceeded_pkts   | 1383747                                             |
| num_ingress_latency_exceeded_flows  | 184                                                 |
| num_conn_est_time_exceeded_flows_fe | 1035                                                |
| num_conn_est_time_exceeded_flows_be | 1035                                                |

事件:



注:

在此示例中,阈值设置为 0。

重要日志(启用 Latency_Audit 时):



连接/应用程序日志中将提供详细的计时和流量特性。

以下是在 NSX Advanced Load Balancer 22.1.1 版本中为“事件”选项引入的更改。

  • 现在,可在 se_timetracker_properties 下配置 TT 事件生成选项。

  • 时间跟踪器事件不支持虚拟服务详细信息。

  • 输入/输出延迟的最大值(在事件时段内)现在在事件日志上发布。

使用 show serviceengine <SE_NAME> rteringstat 命令检查时间跟踪器的服务引擎 RteRingstats:

| num_ingress_latency_exceeded_pkts | 12                        |
| num_egress_latency_exceeded_pkts  | 12                        |

使用 show virtualservice <VS_name> internal 命令检查时间跟踪器的虚拟服务内部统计信息:

| num_ingress_latency_exceeded_flows  | 2                                                   |
| num_conn_est_time_exceeded_flows_fe | 1                                                   |
| num_conn_est_time_exceeded_flows_be | 1                                                   |