Citrix Application Delivery Management

对 HDX Insight 问题进行故障排除

如果 HDX Insight 解决方案未按预期运行,则问题可能出在以下情况之一。有关故障排除,请参阅相应部分中的清单。

  • HDX Insight 配置。

  • Citrix ADC 和 Citrix ADM 之间的连接。

  • 在 Citrix ADC 中生成 HDX/ICA 流量的记录。

  • Citrix ADM 中的记录总量。

HDX Insight 配置清单

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

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

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

    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 策略绑定到 VPN 虚拟服务器,HDX/ICA 流量正在流动。

  • 对于透明模式或局域网用户模式,请确保设置 ICA 端口 1494 和 2598。

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

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

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

Citrix ADC 与 Citrix ADM 之间的连接检查表

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

  • 检查 HDX Insight AppFlow 策略命中。

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

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

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

在 Citrix ADC 核对表中为 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 表示记录已成功从 Citrix ADC 导出。

跳过代码 错误消息 错误原因
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 功能。表示低于 6.5 的 XenApp 版本或低于 5.0 的 XenDesktop 版本
121 NS_ICA_ERR_CGP_INVALID_CMD 遇到无效的 CGP 命令
122 NS_ICA_ERR_不够_CHANNEL_BYTES 信道上的字节数不足
123 NS_ICA_ERR_CHANNEL_DATA EUEM、CONTROL 或 SEAMLESS 通道上的数据不正确
124 NS_ICA_ERR_INVALID_PURE_CMD 处理 PURE ICA 通道数据时收到无效命令
125 NS_ICA_ERR_INVALID_PURE_LEN0 处理 PURE ICA 通道数据时遇到无效长度
126 NS_ICA_ERR_INVALID_PURE_LEN 处理 PURE 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 协议,接收器不正确
135 NS_ICA_ERR_INVALID_SIGNATURE ICA 签名或幻字符串不正确
136 NS_ICA_ERR_PARSE_RAW 解析 ICA 握手数据包时出错
137 NS_ICA_ERR_INCOMPLETE_PKT 握手时收到的数据包不完整
138 非常重要的错误,也可以使用大号 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 已跳过此接收器(客户端)的 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 从客户端接收到的 Receiver 版本字符串无效
147 NS_ICA_ERR_UNKNOWN_CLIENT_PRODUCT_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 接收器不支持 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 访问网关用户访问总数 统计/诊断
hdx_dbg_lan_user 局域网用户模式访问总数 统计/诊断
hdx_basic_enc 指示使用基本加密的 ICA 连接数 统计/诊断
hdx_advanced_enc 指示使用基于 RC5 的高级加密的 ICA 连接数 统计/诊断
dx_dbg_wanscaler_on_clientside 在客户端具有 CCitrix SD-WAN 的 CGP/ICA 连接总数 统计/诊断
hdx_dbg_wanscaler_on_serverside 具有 CCitrix SD-WAN 服务器端的 CGP/ICA 连接总数 统计/诊断
hdx_dbg_reconnected_session 来自客户端的未出现任何 Citrix ADC 错误的重新连接请求总数 统计/诊断
被拒绝的主机重新连接 客户端拒绝的重新连接请求的主机总数 统计/诊断
hdx_euem_available 指示具有“最终用户体验监视”频道可用的连接数。需要最终用户体验监视通道来收集 ICA RTT 等统计信息。 统计/诊断
已禁用的高清错误 使用 nsapimgr 旋钮禁用会话可靠性。会话不适用于此会话。 错误
hdx_err_skip_no_msi XA/XD 服务器缺少 MSI 功能。这表示服务器版本较旧,而 HDX Insight 会跳过此连接。 错误
hdx_err_skip_old_server 不支持的旧服务器版本 错误
高清错误白名单 客户端接收器不在允许列表中,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 validation

检查 CFLOW 协议以查看 Citrix ADC 中的所有 AppFlow 记录。

Citrix ADM 核对表中的记录填写

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

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

在联系 Citrix 技术支持之前

要快速解决问题,请确保在联系 Citrix 技术支持之前已掌握以下信息:

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

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

已知问题

有关 HDX Insight 的已知问题,请参阅 Citrix ADC 发行说明。