Session Recording 故障排除

此故障排除信息可以为在安装 Session Recording 组件期间和之后可能遇到的一些问题提供解决方案:

  • 组件无法相互连接
  • 无法录制会话
  • Session Recording Player 或 Session Recording 策略控制台的问题
  • 与通信协议有关的问题

警告:

注册表编辑不当会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。在编辑注册表之前,请务必进行备份。

Session Recording Agent 无法连接

Session Recording Agent 无法连接时,将记录 Exception caught while sending poll messages to Session Recording Broker(向 Session Recording Broker 发送轮询消息时捕获到异常)事件消息,后跟异常文本。此异常文本提供连接失败的原因。这些原因包括:

  • 基础连接已关闭。无法为 SSL/TLS 安全通道建立信任关系。此异常表示 Session Recording Server 使用的是 Session Recording Agent 所在的服务器不信任或没有 CA 证书的 CA 签发的证书。或者,证书可能已过期或已被吊销。

    解决方案:验证托管 Session Recording Agent 的服务器上是否安装了正确的 CA 证书,或者使用可信 CA。

  • 远程服务器返回错误: (403) 已禁止。这是尝试使用 HTTP(非安全协议)进行连接时显示的标准 HTTPS 错误。托管 Session Recording Server 的计算机拒绝连接,因为该计算机仅接受安全连接。

    解决方案:使用“Session Recording Agent 属性”将 Session Recording Broker 协议更改为 HTTPS

Session Recording Broker 在评估录制策略查询时返回未知错误。错误代码 5(访问被拒绝)。有关详细信息,请参阅 Session Recording Server 上的事件日志。启动会话并请求进行录制策略评估时会发生此错误。导致此错误的原因为:从 Session Recording Authorization 控制台的策略查询角色中删除了已通过身份验证的用户组(此为默认成员)。

解决方案:将已通过身份验证的用户组添加回此角色,或将托管每个 Session Recording Agent 的每个服务器添加到策略查询角色中。

基础连接已关闭。服务器关闭了本应保持活动状态的连接。此错误表示 Session Recording Server 已关闭或无法接受请求。这可能是因为 IIS 处于脱机状态或重新启动,或者整个服务器可能处于脱机状态。

解决方案:验证 Session Recording Server 是否已启动、IIS 是否正在该服务器上运行,以及该服务器是否已连接到网络。

安装 Session Recording Server 组件失败

安装 Session Recording Server 组件失败,并显示错误代码 2503 和 2502。 解决方案: 查看文件夹 C:\windows\Temp 的访问控制列表 (ACL),以确保“本地用户和组”对此文件夹具有写入权限。否则,请手动添加写入权限。

Session Recording Server 无法连接到 Session Recording 数据库

当 Session Recording Server 无法连接到 Session Recording 数据库时,可能会显示类似以下内容的错误消息之一:

事件来源:

与 SQL Server 建立连接时发生与网络有关的或实例特有的错误。此错误会显示在托管 Session Recording Server 的计算机上事件查看器中的应用程序事件日志中,ID 为 2047。

Citrix Session Recording Storage Manager Description: Exception caught while establishing database connection.(事件源: Citrix Session Recording Storage Manager 描述: 建立数据库连接时捕获到异常。)此错误会显示在托管 Session Recording Server 的计算机上事件查看器中的应用程序事件日志中。

无法连接到 Session Recording Server。Ensure that the Session Recording Server is running.(无法连接到 Session Recording Server。请确保 Session Recording Server 正在运行。)启动 Session Recording 策略控制台时会显示此错误消息。

解决方案:

  • Microsoft SQL Server 2008 R2、Microsoft SQL Server 2012、Microsoft SQL Server 2014 或 Microsoft SQL Server 2016 的 Express Edition 安装在独立的服务器上,并且没有为 Session Recording 配置的正确服务或设置。该服务器必须启用 TCP/IP 协议,并运行 SQL Server Browser 服务。有关启用这些设置的信息,请参阅 Microsoft 文档。
  • Session Recording 安装期间(“管理”部分)提供了错误的服务器和数据库信息。卸载 Session Recording 数据库并重新安装,以提供正确的信息。
  • Session Recording 数据库服务器处于关闭状态。请验证该服务器是否处于连接状态。
  • 托管 Session Recording Server 的计算机或托管 Session Recording 数据库服务器的计算机无法解析对方的 FQDN 或 NetBIOS 名称。请使用 ping 命令验证这些名称是否可解析。
  • 检查 Session Recording 数据库中的防火墙配置,以确保允许 SQL Server 连接。有关详细信息,请参阅 https://docs.microsoft.com/en-us/sql/sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access 上的 Microsoft 文章。

Logon failed for user ‘NT_AUTHORITY\ANONYMOUS LOGON’.(用户“NT_AUTHORITY\ANONYMOUS LOGON”登录失败。)此错误消息表示用户以 .\administrator 身份错误地登录了服务。

解决方案:请以本地系统用户身份重新启动服务,并重新启动 SQL 服务。

未录制会话

如果未成功录制应用程序会话,请先检查运行 Session Recording Agent 和 Session Recording Server 的 VDA for Server OS 上的事件查看器中的应用程序事件日志。此日志可能会提供有价值的诊断信息。

如果未录制会话,以下问题可能是导致该问题的原因:

  • 组件连接和证书。如果 Session Recording 组件相互之间无法进行通信,可能会导致会话录制失败。要解决录制问题,请验证是否已将所有组件正确配置为指向正确的计算机,以及所有证书是否均有效且已正确安装。
  • 非 Active Directory 域环境。Session Recording 设计为在 Microsoft Active Directory 域环境中运行。如果您不在 Active Directory 环境中运行,可能会遇到录制问题。确保所有 Session Recording 组件都在属于 Active Directory 域成员的计算机上运行。
  • 会话共享与活动策略冲突。Session Recording 将活动策略与用户打开的第一个已发布应用程序相匹配。随后在同一会话中打开的应用程序都将继续遵循对第一个应用程序有效的策略。要防止会话共享与活动策略冲突,请在单独的 VDA for Server OS 上发布冲突的应用程序。
  • 未启用录制。默认情况下,在 VDA for Server OS 上安装 Session Recording Agent 会启用服务器的录制功能。将活动录制策略配置为允许启用此功能之后,才开始录制。
  • 活动录制策略不允许录制。对于要录制的会话,活动录制策略必须允许录制用户、服务器或已发布应用程序的会话。
  • Session Recording 服务未运行。对于要录制的会话,Session Recording Agent 服务必须在 VDA for Server OS 上运行,并且 Session Recording Storage Manager 服务必须在托管 Session Recording Server 的计算机上运行。
  • 未配置 MSMQ。如果未在运行 Session Recording Agent 的服务器上以及托管 Session Recording Server 的计算机上正确配置 MSMQ,可能会出现录制问题。

无法查看实时会话播放

如果在使用 Session Recording Player 查看录制件时遇到困难,可能会显示以下错误消息:

下载录制的会话文件失败。不允许实时会话播放。服务器配置为不允许此功能。此错误表明服务器配置为不允许此操作。

解决方案:在 Session Recording Server 属性中,选择播放选项卡,然后选择允许实时会话播放复选框。

录制损坏或不完整

  • 使用 Session Recording Player 查看录制件时,如果录制件损坏或不完整,Session Recording Agent 上的事件日志中还会显示警告消息。

    事件来源: Citrix Session Recording Storage Manager

    说明:录制文件 <icl 文件名> 过程中数据丢失

    使用 Machine Creation Services (MCS) 或 Provisioning Services (PVS) 创建的 VDA 配置了主映像并安装了 Microsoft 消息队列 (MSMQ) 时通常会出现此问题。在这种情况下,VDA 的 MSMQ 的 QMId 将相同。

    解决方法:为每个 VDA 创建唯一的 QMId。有关详细信息,请参阅安装、升级和卸载 Session Recording安装 Session Recording Agent 部分中的步骤 8。

  • 在播放某一录制文件时,Session Recording Player 可能会报告内部错误,并显示以下消息:”正在播放的文件报告在其原始录制期间发生一个内部系统错误(错误代码: 9)。该文件可继续播放到发生录制错误的点”。

    这通常是在录制图形密集型会话时,Session Recording Agent 缓冲区大小不足造成的。

    解决方法:在 Session Recording Agent 中将 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\SmAudBufferSizeMB 的注册表值更改为较高值,然后重新启动计算机。

安装 Session Recording 数据库或 Session Recording Server 时,测试数据库实例的连接性失败

安装 Session Recording 数据库或 Session Recording Server 时,测试连接失败并显示错误消息数据库连接测试失败。Please correct Database instance name(数据库连接测试失败。请更正数据库实例名称),即使数据库实例名称正确也是如此。

在此情况下,请确保当前用户具有公共 SQL Server 角色权限,可以更正权限限制失败。

管理员日志记录

在 Windows Server 2008 R2 SP1 中,安装管理员日志记录功能之前,请首先安装 .Net Framework 3.5 功能 > WCF 激活 > HTTP 激活,然后安装 .Net Framework 4.5 或更高版本。请勿以相反的顺序安装这两个要求。否则,管理员日志记录可能不会正常工作。在尝试使用 Server Properties 控制台更改 Session Recording 配置时,或者在启用了强制日志记录的情况下使用策略控制台更新 Session Recording 策略时,可能会遇到操作阻塞的问题。

要解决此问题,请执行以下操作:

  1. 打开 Internet Information Services (IIS) 管理器并导航至应用程序池节点。
  2. 右键单击 SessionRecordingLoggingAppPool 并打开基本设置对话框。
  3. 将 .NET Framework 版本更改为 .NET Framework v4.0。