对 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
命令以检查 HDX Insight 配置。确保绑定类型为 ICA 请求。例如;bind vpn vserver afsanity -policy afp -priority 100 -type REQUEST
对于透明模式,绑定类型必须为 ICA_REQ_DEFAULT。例如;
bind appflow global afp 100 END -type ICA_REQ_DEFAULT
对于单跃点/Access Gateway 或双跃点部署,请确保将 HDX Insight AppFlow 策略绑定到 HDX/ICA 流量要流经的 VPN 虚拟服务器。
- 对于透明模式或局域网用户模式,请确保设置 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 收集器之间的连接状态。
检查 HDX Insight AppFlow 策略命中。
运行命令
show appflow policy
以检查 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 会话没有可用的报告。
日志:Invalid transition: NS_ICA_ST_FLOW_INIT/NS_ICA_EVT_INVALID -> NS_ICA_ST_UNINIT”
原因:解析 ICA 握手时出现问题
解决方案:在建立新会话之前,此特定 ICA 会话没有可用的报告。
日志:Missing EUEM ICA RTT
原因:无法解析最终用户体验监控通道数据
解决方案:确保在Citrix虚拟应用程序和桌面服务器上启动了最终用户体验监视服务。确保您使用的是 Citrix Workspace 应用程序受支持的版本。
日志:无效的通道报头
原因:无法识别通道报头
解决方案:在建立新会话之前,此特定 ICA 会话没有可用的报告。
日志:跳过代码
如果您看到以下跳过代码的任何值,则会跳过分析智能分析详细信息。
跳过代码 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 | 薄线通道的解码器无效 |
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 | 数据包的 Init 请求被碎片化,无法处理 |
119 | NS_ICA_ERR_INIT_ICA_CAPS | ICA 功能初始化错误 |
120 | NS_ICA_ERR_NO_MSI_SUPPORT | 主机不支持 MSI 功能。表示 XenApp 版本低于 6.5 或 XenDesktop 版本低于 5.0 |
121 | 无效的计算机 | 遇到无效的 CGP 命令 |
122 | NS_ICA_ERR_INSUFFICENT_CHANNEL_BYTES | 通道上的字节不足 |
123 | 通道数据 | EUEM、控制或无缝通道上的数据不正确 |
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 减速器版本 |
133 | NS_ICA_ERR_HS_COMPRESSION_DISABLED | 压缩已禁用,主机不支持 |
134 | 不同文件的名称 | 无法识别 ICA 或 CGP 协议,在不正确的接收器中看到 |
135 | NS_ICA_ERR_INVALID_SIGNATURE | ICA 签名或魔术字符串不正确 |
136 | NS_ICA_ERR_PARSE_RAW | 解析 ICA 握手数据包时出错 |
137 | NS_ICA_ERR_INCOMPLETE_PKT | 握手时收到的数据包不完整 |
138 | 非常重要的错误,也可以使用大号 | ICA 帧太大,超过 1,460 字节 |
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 | 从客户端接收的接收器版本字符串无效 |
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 加密中的地密命令的状态无效 |
163 | NS_ICA_ERR_ADVCRYPT_INVALIDCRYPTCMD | RC5 加密中的密码命令无效 |
164 | NS_ICA_ERR_ADVCRYPT_ENC | RC5加密/解密中的错误 |
165 | NS_ICA_ERR_ADVCRYPT_DEC | RC5加密/解密中的错误 |
166 | NS_ICA_ERR_SERVER_NOT_REDUCER_V3 | VDA 不支持减速器版本 3 |
167 | NS_ICA_ERR_CLIENT_NOT_REDUCER_V3 | 接收器不支持减速器版本 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 | 分析智能分析通道数据时出错 |
172 | NS_ICA_ERR_NSAP_APP | 从 Insight 渠道数据解析应用详细信息时出错 |
173 | NS_ICA_ERR_NSAP_ACR | 从智能分析通道数据中分析 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
Jan 9 22:55:41
错误计数器
捕获各种计数器 ICA 解析。下表列出了用于 ICA 解析的各种计数器。 运行命令nsconmsg –g hdx –d statswt0
查看计数器详细信息。
HDX 计数器名称 | 用途 | 类别(统计数据/错误/诊断) |
---|---|---|
高清/高清/高清 | 指示 NS 检测到的纯 ICA 连接总数。每当检测到基于客户端 PCB 上的 ICA 签名的 ICA 连接时,会递增。 | 统计数据 |
高密度计算机 | 指示 NS 检测到的 CGP 连接总数(会话可靠性打开)。每当检测到基于客户端 PCB 上的 CGP 签名的 CGP 连接时,会递增。 | 统计数据 |
高清数据库中的数据库中的数据库 | 指示 NS 检测到的 UDP ICA 连接总数 | 统计数据 |
数据库中的数据库中的数据库 | 指示 NS 检测到的 NSAP 支持连接的总数 | 统计数据 |
高清过程中的跳过 | 指示由于 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 而从会话中分离的实例总数 | 统计/诊断 |
透明用户 | 透明用户访问总数 | 统计/诊断 |
用户 | Access Gateway 用户访问总次数 | 统计/诊断 |
用户 | 局域网用户模式访问总数 | 统计/诊断 |
高清基本数据 | 指示使用基本加密的 ICA 连接数 | 统计/诊断 |
高级数据 | 指示使用基于 RC5 的高级加密的 ICA 连接数 | 统计/诊断 |
在客户端上进行分类 | 客户端具有 Citrix SD-WAN 的 CGP/ICA 连接总数 | 统计/诊断 |
服务器端的服务器 | 具有 Citrix SD-WAN 服务器端的 CGP/ICA 连接总数 | 统计/诊断 |
已重新连接会话 | 未出现任何 Citrix ADC 错误的客户端重新连接请求总数 | 统计/诊断 |
被拒绝的主机重新连接 | 客户端拒绝的重新连接请求的主机总数 | 统计/诊断 |
可用的高清晰度 | 指示具有最终用户体验监视频道可用的连接数。要收集 ICA RTT 等统计信息,需要最终用户体验监控渠道。 | 统计/诊断 |
已禁用的高清错误 | 使用nsapimgr 旋钮禁用会话可靠性。会话不适用于此会话。 |
错误 |
高清错误跳过无微米 | XA/XD 服务器缺少 MSI 功能。这表示较旧的服务器版本,HDX Insight 将跳过此连接。 | 错误 |
高清服务器跳过服务器 | 旧的不受支持的服务器版本 | 错误 |
高清错误白名单 | 客户端接收器不在允许列表中,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 协议以查看从 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 服务器版本。
- 客户端接收器版本。
- 发生问题时的活动 ICA 会话数。
- 通过在 Citrix ADC
show techsupport
命令提示符下运行命令捕获的技术支持包。 - 为 Citrix ADM 捕获的技术支持包。
- 在所有 Citrix ADC 上捕获的数据包跟踪。 要启动数据包跟踪,请键入,
start nstrace -size 0'
要停止数据包跟踪,请键入、stop nstrace
- 通过运行
show arp
命令收集系统 ARP 表中的条目。
已知问题
有关 HDX Insight 的已知问题,请参阅 Citrix ADC 发行说明。