Application Delivery Management

排查 HDX™ Insight 问题

如果 HDX Insight 解决方案未按预期运行,问题可能出在以下某个方面。有关排查步骤,请参阅相应部分中的清单。

  • HDX Insight 配置。

  • NetScaler 与 NetScaler ADM 之间的连接。

  • NetScaler 中 HDX/ICA 流量的记录生成。

  • NetScaler® ADM 中的记录填充。

HDX Insight 配置清单

  • 确保在 NetScaler 中启用了 AppFlow 功能。有关详细信息,请参阅启用 AppFlow

  • 检查 NetScaler 运行配置中的 HDX Insight 配置。

    运行 show running | grep -i <appflow_policy> 命令以检查 HDX Insight 配置。确保绑定类型为 ICA REQUEST。例如:

    bind vpn vserver afsanity -policy afp -priority 100 -type ICA_REQUEST

    对于透明模式,绑定类型必须为 ICA_REQ_DEFAULT。例如:

    bind appflow global afp 100 END -type ICA_REQ_DEFAULT

  • 对于单跳/Access Gateway 或双跳部署,请确保 HDX Insight AppFlow 策略绑定到 HDX/ICA 流量流经的 VPN 虚拟服务器。

  • 对于透明模式或 LAN 用户模式,请确保 ICA® 端口 1494 和 2598 已设置。

  • 检查 NetScaler Gateway 或 VPN 虚拟服务器中的 appflowlog 参数是否已为 Access Gateway 或双跳部署启用。有关详细信息,请参阅为虚拟服务器启用 AppFlow

  • 检查双跳 NetScaler 中是否已启用“连接链”。有关详细信息,请参阅配置 NetScaler Gateway 设备以导出数据

  • HA 故障转移后,如果 HDX Insight 详细信息被跳过解析,请检查 ICA 参数“enableSRonHAFailover”是否已启用。有关详细信息,请参阅NetScaler 高可用性对上的会话可靠性

NetScaler 与 NetScaler ADM 之间的连接清单

  • 检查 NetScaler 中的 AppFlow 收集器状态。有关详细信息,请参阅如何检查 NetScaler 与 AppFlow 收集器之间的连接状态

  • 检查 HDX Insight AppFlow® 策略命中。

    运行 show appflow policy <policy_name> 命令以检查 AppFlow 策略命中。

    您还可以导航到 GUI 中的“设置 > AppFlow > 策略”以检查 AppFlow 策略命中。

  • 验证是否有任何防火墙阻止 AppFlow 端口 4739 或 5557。

NetScaler 中 HDX/ICA 流量的记录生成清单

运行 tail -f /var/log/ns.log | grep -i "default ICA Message" 命令进行日志验证。根据生成的日志,您可以使用此信息进行故障排除。

  • 日志:跳过解析 ICA 连接 - 此主机不支持 HDX Insight

    原因:不支持的 Citrix Virtual Apps and Desktops 版本

    解决方法:将 Citrix Virtual Apps and Desktops 服务器升级到受支持的版本。

  • 日志:客户端类型 0x53,不支持

    原因:不支持的 Citrix Workspace 版本

    解决方案:将 Citrix Workspace 升级到受支持的版本。有关详细信息,请参阅Citrix Workspace 应用程序

  • 日志:来自扩展数据包的错误 - 跳过此流的所有 HDX 处理

    原因:解压缩 ICA 流量时出现问题

    解决方案:此 ICA 会话没有可用报告,直到建立新会话。

  • 日志:无效转换:NS_ICA_ST_FLOW_INIT/NS_ICA_EVT_INVALID -> NS_ICA_ST_UNINIT”

    原因:解析 ICA 握手时出现问题

    解决方案:此特定 ICA 会话没有可用报告,直到建立新会话。

  • 日志:缺少 EUEM ICA RTT

    原因:无法解析最终用户体验监控通道数据

    解决方案:确保在 Citrix Virtual Apps and Desktops 服务器上启动了最终用户体验监控服务。确保您使用的是受支持的 Citrix Workspace 应用程序版本。

  • 日志:无效通道标头

    原因:无法识别通道标头

    解决方案:此特定 ICA 会话没有可用报告,直到建立新会话。

  • 日志:跳过代码

    如果您看到跳过代码的以下任何值,则 Insight 详细信息将被跳过解析。

    跳过代码 0 表示记录已成功从 NetScaler 导出。

跳过代码 错误消息 错误原因
100 NS_ICA_ERR_NULL_FRAG 处理 ICA 片段时出错,可能是由于内存条件
101 NS_ICA_ERR_INVALID_HS_CMD 收到无效的握手命令
102 NS_ICA_ERR_REDUC_PARAM_CNT 为 V3 扩展器初始化指定了无效参数
103 NS_ICA_ERR_REDUC_INIT 无法正确初始化 V3 扩展器
104 NS_ICA_ERR_REDUC_PARAM_BYTES 没有足够的字节将编码器分配给通道
105 NS_ICA_ERR_INVALID_CHANNEL 无效的 ICA 通道号
106 NS_ICA_ERR_INVALID_DECODER 为通道指定了无效的解码器
107 NS_ICA_ERR_INVALID_TW_PARAM 在 Thinwire 通道上指定了无效的参数计数
108 NS_ICA_ERR_INVALID_TW_DECODER Thinwire 通道的解码器无效
109 NS_ICA_ERR_REDUC_NO_DECODER 未为通道定义解码器
110 NS_ICA_ERR_REDUC_V3_EXPANDER 无法扩展通道数据
111 NS_ICA_ERR_REDUC_BYTES_V3_OOR 扩展器错误:消耗的字节数多于可用字节数
112 NS_ICA_ERR_REDUC_BYTES_OOR 错误:未压缩数据溢出
113 NS_ICA_ERR_REDUC_INVALID_CMD 未定义的扩展器命令
114 NS_ICA_ERR_CGP_FILL_HOLE 处理拆分 CGP 帧时出错
115 NS_ICA_ERR_MEM_NSB_ALLOC NSB 分配错误 – 由于内存不足
116 NS_ICA_ERR_MEM_REDUC_CTX_ALLOC 扩展器上下文的内存分配错误
117 NS_ICA_ERR_ICA_OLD_SERVER 旧服务器,不支持功能块
118 NS_ICA_ERR_PIR_MANY_FRAG 数据包初始化请求已分段,无法处理
119 NS_ICA_ERR_INIT_ICA_CAPS ICA 功能初始化错误
120 NS_ICA_ERR_NO_MSI_SUPPORT 主机不支持 MSI 功能。表示 XenApp 版本低于 6.5 或 XenDesktop 版本低于 5.0
121 NS_ICA_ERR_CGP_INVALID_CMD 遇到无效的 CGP 命令
122 NS_ICA_ERR_INSUFFICENT_CHANNEL_BYTES 通道上的字节不足
123 NS_ICA_ERR_CHANNEL_DATA EUEM、CONTROL 或 SEAMLESS 通道上的数据不正确
124 NS_ICA_ERR_INVALID_PURE_CMD 处理纯 ICA 通道数据时收到无效命令
125 NS_ICA_ERR_INVALID_PURE_LEN0 处理纯 ICA 通道数据时遇到无效长度
126 NS_ICA_ERR_INVALID_PURE_LEN 处理纯 ICA 通道数据时遇到无效长度
127 NS_ICA_ERR_INVALID_CLNT_DATA 从客户端收到的数据长度无效
128 NS_ICA_ERR_MSI_GUID_SZ MSI GUID 大小错误
129 NS_ICA_ERR_INVALID_CHANNEL_HEADER 检测到无效通道标头
130 NS_ICA_ERR_CGP_PARSE_RECONNECT_ID 重新连接会话的检索失败
131 NS_ICA_ERR_DISABLE_SR_NON_NS_RECONNECT 禁用 SR 时出错
132 NS_ICA_ERR_REDUC_NOT_V3 不支持的 ICA Reducer 版本
133 NS_ICA_ERR_HS_COMPRESSION_DISABLED 压缩已禁用,主机未遵守
134 NS_ICA_ERR_IDENT_PROTO 无法识别 ICA 或 CGP 协议,在不正确的 Workspace 中可见
135 NS_ICA_ERR_INVALID_SIGNATURE ICA 签名或魔术字符串不正确
136 NS_ICA_ERR_PARSE_RAW 解析 ICA 握手数据包时出错
137 NS_ICA_ERR_INCOMPLETE_PKT 握手中收到不完整的数据包
138 NS_ICA_ERR_ICAFRAME_TOO_LARGE ICA 帧太大,超过 1460 字节
139 NS_ICA_ERR_FORWARD 转发 ICA 数据时出错
140 NS_ICA_ERR_MAX_HOLES 无法处理 CGP 命令,因为它已拆分超出支持的限制
141 NS_ICA_ERR_ASSEMBLE_FRAME 无法正确重新组装 ICA 帧
142 NS_ICA_ERR_UNSUPPORTED_RECEIVER_VERSION 跳过此 Workspace (客户端) 的 ICA 解析,因为它不在允许列表中
143 NS_ICA_ERR_LOOKUP_RECONNECT_ID 无法检测客户端重新连接 Cookie 的解析状态
144 NS_ICA_ERR_SYNCUP_RECONNECT_ID 客户端重新连接后检测到无效的重新连接 Cookie 长度
145 NS_ICA_ERR_INVALID_RECONNECT_ID 客户端重新连接 Cookie 缺少所需的约束
146 NS_ICA_ERR_INVALID_CLIENT_VERSION 从客户端收到的 Workspace 版本字符串无效
147 NS_ICA_ERR_UNKNOWN_CLIENT_PRODUCT_ID 从客户端收到的产品 ID 无效
148 NS_ICA_ERR_V3_HDR_CORRUPT_LEN 扩展后通道长度无效
149 NS_ICA_ERR_SPECIAL_THINWIRE 解压缩错误
150 NS_ICA_ERR_SEAMLESS_INSUFFBYTE 无缝命令的字节不足
151 NS_ICA_ERR_EUEM_INSUFFBYTE EUEM 命令的字节不足
152 NS_ICA_ERR_SEAMLESS_INVALID_EVENT 无缝通道解析的事件无效
153 NS_ICA_ERR_CTRL_INVALID_EVENT CTRL 通道解析的事件无效
154 NS_ICA_ERR_EUEM_INVALID_EVENT EUEM 通道解析的事件无效
155 NS_ICA_ERR_USB_INVALID_EVENT USB 通道解析的事件无效
156 NS_ICA_ERR_PURE_INVALID_EVENT 纯通道解析的事件无效
157 NS_ICA_ERR_VCP_INVALID_EVENT 虚拟通道解析的事件无效
158 NS_ICA_ERR_ICAP_INVALID_EVENT ICA 数据解析的事件无效
159 NS_ICA_ERR_CGPP_INVALID_EVENT CGP 数据解析的事件无效
160 NS_ICA_ERR_BASICCRYPT_INVALIDSTATE 基本加密中 crypt 命令的状态无效
161 NS_ICA_ERR_BASICCRYPT_INVALIDCRYPTCMD 基本加密中 crypt 命令无效
162 NS_ICA_ERR_ADVCRYPT_INVALIDSTATE RC5 加密中 crypt 命令的状态无效
163 NS_ICA_ERR_ADVCRYPT_INVALIDCRYPTCMD RC5 加密中 crypt 命令无效
164 NS_ICA_ERR_ADVCRYPT_ENC RC5 加密/解密错误
165 NS_ICA_ERR_ADVCRYPT_DEC RC5 加密/解密错误
166 NS_ICA_ERR_SERVER_NOT_REDUCER_V3 VDA 不支持 Reducer 版本 3
167 NS_ICA_ERR_CLIENT_NOT_REDUCER_V3 Workspace 不支持 Reducer 版本 3
168 NS_ICA_ERR_ICAP_INSUFFBYTE ICA 握手中字节数异常
169 NS_ICA_ERR_HIGHER_RECONSEQ 重新连接后,对等方发出的 CGP 恢复序列号更高
170 NS_ICA_ERR_DESCSRINFO_ABSENT 重新连接后无法恢复 ICA 解析状态
171 NS_ICA_ERR_NSAP_PARSING 解析 Insight 通道数据时出错
172 NS_ICA_ERR_NSAP_APP 从 Insight 通道数据解析应用程序详细信息时出错
173 NS_ICA_ERR_NSAP_ACR 从 Insight 通道数据解析 ACR 详细信息时出错
174 NS_ICA_ERR_NSAP_SESSION_END 从 Insight 通道数据解析会话结束详细信息时出错
175 NS_ICA_ERR_NON_NSAP_SN 由于缺少 Insight 通道支持,跳过服务节点上的 ICA 解析
176 NS_ICA_ERR_NON_NSAP_CLIENT 客户端不支持 NSAP
177 NS_ICA_ERR_NON_NSAP_SERVER VDA 不支持 NSAP
178 NS_ICA_ERR_NSAP_NEG_FAIL NSAP 数据协商时出错
179 NS_ICA_ERR_SN_RECONNECT_TKT_FETCH 在服务节点中获取服务重新连接票证时出错
180 NS_ICA_ERR_SN_HIGHER_RECONSEQ 在服务节点中接收到更高的重新连接序列号时出错
181 NS_ICA_ERR_DISABLE_HDXINSIGHT_NONNSAP 禁用非 NSAP 连接的 HDX Insight 时出错

示例日志:

Jan 9 22:57:02 <local0.notice> 10.106.40.223 01/09/2020:22:57:02 GMT ns-223 0-PPE-2 : default ICA Message 1234 0 : "Session setup data send: Session GUID [57af35043e624abab409f5e6af7fd22c], Client IP/Port [10.105.232.40/52314], Server IP/Port [10.106.40.215/2598], MSI Client Cookie [Non-MSI], Session setup time [01/09/2020:22:56:49 GMT], Client Type [0x0052], Receiver Version [19.12.0.23], User [user1], Client [10.105.232.40], Server [WIN2K12-215], Ctx Flags [0x8820220228], Track Flags [0x1775010c3fc], Skip Code [0]"

Jan 9 22:55:41 <local0.notice> 10.106.40.223 01/09/2020:22:55:41 GMT ns-223 0-PPE-0 : default ICA Message 156 0 : "Skipping ICA flow: Session GUID [4e3a91175ebcbe686baf175eec7e0200], Client IP/Port [10.105.232.40/60059], Server IP/Port [10.106.40.219/2598], MSI Client Cookie [Non-MSI], Session setup time [01/09/2020:22:55:39 GMT], Client Type [0x0052], Receiver Version [19.12.0.23], User [user1], Client [10.105.232.40], Server [10.106.40.219], Ctx Flags [0x8820220008], Track Flags [0x1600010c040], Skip Code [171]"

错误计数器

ICA 解析捕获了各种计数器。下表列出了 ICA 解析的各种计数器。 运行 nsconmsg –g hdx –d statswt0 命令查看计数器详细信息。

HDX 计数器名称 用途 类别(统计信息/错误/诊断)
hdx_tot_ica_conn 指示 NS 检测到的纯 ICA 连接总数。每当检测到基于客户端 PCB 上的 ICA 签名的 ICA 连接时,此值会递增。 统计信息
hdx_tot_cgp_conn 指示 NS 检测到的 CGP 连接总数(会话可靠性开启)。每当检测到基于客户端 PCB 上的 CGP 签名的 CGP 连接时,此值会递增。 统计信息
hdx_dbg_tot_udt_conn 指示 NS 检测到的 UDP ICA 连接总数 统计信息
hdx_dbg_tot_nsap_conn 指示 NS 检测到的 NSAP 支持的连接总数 统计信息
hdx_tot_skip_conn 指示由于 ICA 或 CGP 签名无效而被解析器跳过的 ICA 连接数。 统计信息
hdx_dbg_active_conn 该时刻的活动 EDT/CGP/ICA 连接总数。 统计信息
hdx_dbg_active_nsap_conn 该时刻的活动 EDT/CGP/ICA NSAP 连接总数。 统计信息
hdx_dbg_skip_appflow_disabled 由于禁用 AppFlow 而导致 AppFlow 从会话中分离的实例总数 统计信息/诊断
hdx_dbg_transparent_user 透明用户访问总数 统计信息/诊断
hdx_dbg_ag_user Access Gateway 用户访问总数 统计信息/诊断
hdx_dbg_lan_user LAN 用户模式访问总数 统计信息/诊断
hdx_basic_enc 指示使用基本加密的 ICA 连接数 统计信息/诊断
hdx_advanced_enc 指示使用基于 RC5 的高级加密的 ICA 连接数 统计信息/诊断
hdx_dbg_reconnected_session 客户端发出的重新连接请求总数,没有任何 NetScaler 错误 统计信息/诊断
hdx_dbg_host_rejected_ns_reconnect 客户端拒绝的主机重新连接请求总数 统计信息/诊断
hdx_euem_available 指示具有可用最终用户体验监控通道的连接数。最终用户体验监控通道是收集 ICA RTT 等统计信息所必需的。 统计信息/诊断
hdx_err_disabled_sr 使用 nsapimgr 旋钮禁用会话可靠性。此会话不起作用。 错误
hdx_err_skip_no_msi XA/XD 服务器缺少 MSI 功能。这表示服务器版本较旧,HDX Insight 会跳过此连接。 错误
hdx_err_skip_old_server 旧的不受支持的服务器版本 错误
hdx_err_clnt_not_whitelist 客户端 Workspace 不在允许列表中,HDX Insight 会跳过此连接。 错误
hdx_sm_ica_cam_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_CAM_CHANNEL 总数 诊断
hdx_sm_ica_usb_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_USB_CHANNEL 总数 诊断
hdx_sm_ica_clip_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_CLIP_CHANNEL 总数 诊断
hdx_sm_ica_ccm_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_CCM_CHANNEL 总数 诊断
hdx_sm_ica_cdm_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_CDM_CHANNEL 总数 诊断
hdx_sm_ica_com1_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_COM1_CHANNEL 总数 诊断
hdx_sm_ica_com2_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_COM2_CHANNEL 总数 诊断
hdx_sm_ica_cpm_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_CPM_CHANNEL 总数 诊断
hdx_sm_ica_lpt1_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_LPT1_CHANNEL 总数 诊断
hdx_sm_ica_lpt2_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_LPT2_CHANNEL 总数 诊断
dx_dbg_sm_ica_msi_disabled 通过 SmartAccess 策略禁用 MSI 的情况总数 诊断
hdx_sm_ica_file_channel_disabled 通过 SmartAccess 策略禁用的 NS_ICA_FILE_CHANNEL 总数 诊断
hdx_dbg_usb_accept_device 接受的 USB 设备总数 诊断
hdx_dbg_usb_reject_device 拒绝的 USB 设备总数 诊断
hdx_dbg_usb_reset_endpoint 重置的 USB 端点总数 诊断
hdx_dbg_usb_reset_device 重置的 USB 设备总数 诊断
hdx_dbg_usb_stop_device 停止的 USB 设备总数 诊断
hdx_dbg_usb_stop_device_response 来自已停止 USB 设备的响应总数 诊断
hdx_dbg_usb_device_gone 已消失的 USB 设备总数 诊断
hdx_dbg_usb_device_stopped 已停止的 USB 设备总数 诊断

nstrace 验证

检查 CFLOW 协议以查看所有从 NetScaler 发出的 AppFlow 记录。

NetScaler ADM 中的记录填充清单

  • 运行 tail -f /var/mps/log/mps_afdecoder.log | grep -i "Data Record: ica_" 命令并检查日志以确认 NetScaler ADM 正在接收 AppFlow 记录。

  • 确认 NetScaler 实例已添加到 NetScaler ADM。
  • 验证 NetScaler Gateway/VPN 虚拟服务器是否已在 NetScaler ADM 中获得许可。
  • 确保为双跳启用了多跳参数设置。
  • 确保在双跳部署中为第二跳清除了 NetScaler Gateway。

联系 Citrix 技术支持之前

为了快速解决问题,请确保在联系 Citrix 技术支持之前拥有以下信息:

  • 部署和网络拓扑的详细信息。

  • NetScaler 和 NetScaler ADM 版本。
  • Citrix Virtual Apps and Desktops 服务器版本。
  • 客户端 Workspace 版本。
  • 问题发生时的活动 ICA 会话数。
  • 通过在 NetScaler 命令提示符下运行 show techsupport 命令捕获的技术支持包。
  • 为 NetScaler ADM 捕获的技术支持包。
  • 在所有 NetScaler 上捕获的数据包跟踪。 要启动数据包跟踪,请键入 start nstrace -size 0' 要停止数据包跟踪,请键入 stop nstrace
  • 通过运行 show arp 命令收集系统 ARP 表中的条目。

已知问题

请参阅 ADC 发行说明,了解 HDX Insight 的已知问题。