本节介绍为虚拟服务和 PCAP 配置参数的方法。

基于 IP 地址进行筛选

debugserviceengine 模式执行 debug_ip addrs <IP address for filter> 命令,以筛选针对特定 IP 地址的 SE 数据包捕获。

 [admin:cntrl1]: debugserviceengine> debug_ip addrs 10.10.10.10
 [admin:cntrl1]: debugserviceengine:debug_ip>
 [admin:cntrl1]: debugserviceengine:debug_ip> save
 [admin:cntrl1]: debugserviceengine> where
 Tenant: admin
 +----------------+--------------------------+
 | Field          | Value                    |
 +----------------+--------------------------+
 | uuid           | se-10.10.22.107-avitag-1 |
 | name           | 10.10.22.107             |
 | debug_ip       |                          |
 |   addrs[1]     | 10.10.10.10              |
 | tenant_ref     | admin                    |
 +----------------+--------------------------+

基于捕获持续时间进行筛选

debugserviceengine 模式执行 capture_params duration <duration in minutes> 命令,以捕获指定持续时间内的数据包。

[admin:cntrl1]: debugserviceengine> capture_params duration 10
 [admin:cntrl1]: debugserviceengine> where
 Tenant: admin
 +----------------+--------------------------+
 | Field          | Value                    |
 +----------------+--------------------------+
 | uuid           | se-10.10.22.107-avitag-1 |
 | name           | 10.10.22.107             |
 | debug_ip       |                          |
 |   addrs[1]     | 10.10.10.10              |
 | capture_params |                          |
 |   duration     | 10 min                   |
 | tenant_ref     | admin                    |
 +----------------+--------------------------+

基于捕获数据包大小进行筛选

debugserviceengine 模式执行 capture_params pkt_size <packet size in bytes> 命令,以捕获具有所需数据包大小的流量。

[admin:cntrl1]: debugserviceengine> capture_params pkt_size 0
[admin:cntrl1]: debugserviceengine> where
Tenant: admin
+----------------+--------------------------+
| Field          | Value                    |
+----------------+--------------------------+
| uuid           | se-10.10.22.107-avitag-1 |
| name           | 10.10.22.107             |
| debug_ip       |                          |
|   addrs[1]     | 10.10.10.10              |
| capture_params |                          |
|   pkt_size     | 0 bytes                  |
|   duration     | 10 min                   |
| tenant_ref     | admin                    |
+----------------+--------------------------+
[admin:cntrl1]: debugserviceengine> save
[admin:cntrl1]:

以上数据包筛选器将根据以下条件捕获服务引擎 10.10.22.107 的流量:IP 地址为 10.10.10.10,持续时间为 10 分钟,数据包大小为 0

要停止正在进行的数据包捕获,请重新进入数据包捕获子模式并执行 no capture 命令。

[admin:cntrl1]: debug service engine 10.10.22.107
[admin:cntrl1]: debugserviceengine> no capture
[admin:cntrl1]: debugserviceengine> save

将数据包捕获导出到远程系统,并使用 TCPdump 或 Wireshark 等工具进一步分析。

有关导出数据包捕获的更多信息,请参阅导出虚拟服务和服务引擎 PCAP 的数据包捕获

虚拟服务和 SE PCAP 的可配置大小

下面是虚拟服务和 SE PCAP 的可配置大小:

  • 可以在此部分中指定每个 SE 的最大 PCAP 文件大小。每个内核都将配置为(最大大小)/(内核总数)。

  • absolute_size:最大 PCAP 文件大小,以兆字节为单位。

  • percentage_sizeNSX Advanced Load Balancer 分区中可用磁盘空间的百分比。有效范围是 0-75%。可用大小是在配置时的瞬时可用大小。应谨慎使用该值。

  • absolute_sizepercentage_size 设置为 0 可使用 NSX Advanced Load Balancer 默认允许的每内核最大 PCAP 大小 (100 MB)。

  • absolute_sizepercentage_size 的最大值将被视为最大 PCAP 文件。

[admin:ctrl]: > debug serviceengine 10.10.100.10
[admin:ctrl]: debugserviceengine> capture_params
[admin:ctrl]: debugserviceengine:capture_params> capture_file_size
[admin:ctrl]: debugserviceengine:capture_params:capture_file_size> absolute_size 500
[admin:ctrl]: debugserviceengine:capture_params:capture_file_size> save
[admin:ctrl]: debugserviceengine:capture_params> save
[admin:ctrl]: debugserviceengine> save
注:
  • 使用 percentage_size 值时需要谨慎。该值考虑的是瞬时可用大小。

  • 如果虚拟服务和 SE PCAP 配置了 percentage_size,则在配置期间不支持这两个大小的累计数值。这可能会导致磁盘空间问题。过度启用调试也可能会加剧这种情况。