Citrix DaaS

Cloud Health Check

注意:

Cloud Health Check 已集成到 Citrix DaaS 中。该集成可作为“完整配置”管理界面中的“运行状况检查”操作提供。有关更多信息,请参阅 解决 VDA 注册和会话启动问题

Cloud Health Check 允许您运行检查,以评估站点及其组件的运行状况和可用性。可以针对 Virtual Delivery Agent (VDA)、StoreFront 服务器和 Profile Management 运行运行状况检查。VDA 运行状况检查确定常见 VDA 注册和会话启动问题的可能的原因。

如果检查过程中存在问题,Cloud Health Check 会提供详细报告以及修复问题的操作。每次启动 Cloud Health Check 时,都会检查内容交付网络 (CDN) 中的最新脚本版本,并自动下载这些脚本(如果本地计算机上不存在这些脚本)。Cloud Health Check 始终选择最新的本地脚本版本来运行运行状况检查。

注意:

Cloud Health Check 不会在每次运行时更新。

在 Citrix Cloud 环境中,从加入域的计算机运行 Cloud Health Check,以便在一个或多个 VDA 或 StoreFront 服务器上运行检查。

注意:

您无法在 Cloud Connector 上安装或运行 Cloud Health Check。

Cloud Health Check 应用程序的日志存储在 C:\ProgramData\Citrix\TelemetryService\CloudHealthCheck.log 中。可以使用此文件进行故障排除。

查看 Cloud Health Check 的简介。

Cloud Health Check 是什么

查看何时使用 Cloud Health Check。

何时使用 Cloud Health Check

安装

您必须拥有加入域的 Windows 计算机,才能准备环境以安装 Cloud Health Check。

注意:

您无法在 Cloud Connector 上安装或运行 Cloud Health Check。

  1. 在加入域的计算机上,下载 Cloud Health Check 安装程序
  2. 双击 CloudHealthCheckInstaller_x64.msi 文件。
  3. 单击框以接受条款。
  4. 单击安装。

    cloud health check 1

  5. 安装完成后,单击完成

    cloud health check 2

权限和要求

权限:

  • 要运行运行状况检查,请执行以下操作:

    • 您必须是域用户组的成员。
    • 您必须是具有完全权限的管理员或具有站点只读权限和运行环境测试权限的自定义角色。
    • 将脚本执行策略至少设置为 RemoteSigned 以允许执行脚本。例如:Set-ExecutionPolicy RemoteSigned注意: 其他脚本执行权限也可以使用。
  • 启动 Cloud Health Check 时,使用以管理员身份运行

对于每台运行运行状况检查的 VDA 或 StoreFront 计算机:

  • 操作系统必须是 64 位。
  • Cloud Health Check 必须能够与计算机进行通信。
  • 必须打开文件和打印机共享。
  • 必须启用 PSRemoting 和 WinRM。计算机还必须运行 PowerShell 3.0 或更高版本。
  • 必须在计算机上启用 Windows Management Infrastructure (WMI) 访问权限。

关于运行状况检查

运行状况检查数据存储在 C:\ProgramData\Citrix\TelemetryService\ 下的文件夹中。

VDA 运行状况检查

为在 VDA 上注册,Cloud Health Check 将检查:

  • VDA 软件安装
  • VDA 计算机域成员身份
  • VDA 通信端口可用性
  • VDA 服务状态
  • Windows 防火墙配置
  • 与 Controller 通信
  • 与 Controller 进行时间同步
  • VDA 注册状态

对于 VDA 上的会话启动,Cloud Health Check 将检查:

  • 会话启动通信端口可用性
  • 会话启动服务状态
  • 会话启动 Windows 防火墙配置
  • VDA 远程桌面服务客户端访问许可证
  • VDA 应用程序启动路径
  • 会话启动注册表设置
  • Citrix Universal Injection Driver (CTXUVI) 状态

对于 VDA 上的 Profile Management,Cloud Health Check 将检查:

  • 虚拟机管理程序检测
  • 预配检测
  • Citrix Virtual Apps and Desktops
  • Personal vDisk 配置
  • 用户存储
  • Profile Management Service 状态检测
  • Winlogon.exe 挂钩测试

要对 Profile Management 运行检查,必须在 VDA 上安装并启用 Profile Management。有关 Profile Management 配置检查的详细信息,请参阅知识中心文章 CTX132805

StoreFront 运行状况检查

StoreFront 检查将验证是否:

  • Citrix Default Domain Service 正在运行
  • Citrix Credential Wallet 服务正在运行
  • 从 StoreFront 服务器到 Active Directory 的连接为端口 88
  • 从 StoreFront 服务器到 Active Directory 的连接为端口 389
  • 从 StoreFront 服务器到 Active Directory 的连接为端口 464
  • 基本 URL 具有有效的 FQDN
  • 可以从基本 URL 中检索正确的 IP 地址
  • IIS 应用程序池正在使用 .NET 4.0
  • 证书绑定到主机 URL 的 SSL 端口
  • 证书链完整
  • 证书已过期
  • 证书在 30 天内到期

运行 Cloud Health Check

要运行 Citrix Cloud Health Check,请执行以下操作:

  1. 从计算机的“开始”菜单中选择 Citrix > Citrix Cloud Health Check,或运行 C:\Program Files\Citrix\CloudHealthCheck 中的 CloudHealthCheck.exe

    cloud health check 3

  2. 在主 Cloud Health Check 屏幕上,单击添加计算机

    cloud health check 4

  3. 键入要添加的计算机的 FQDN。注意: 虽然输入 DNS 别名而不是 FQDN 可能会显示有效,但运行状况检查可能会失败。
  4. 单击 Continue(继续)。
  5. 根据需要重复以上操作以添加其他计算机。

    cloud health check 5

  6. 要删除手动添加的计算机,请单击行右端的 X 并确认删除。重复以上操作以删除其他手动添加的计算机。

Cloud Health Check 会记住手动添加的计算机,直到您将其删除。关闭再重新打开 Cloud Health Check 时,列表顶部仍会列出手动添加的计算机。

导入 VDA 计算机

运行运行状况检查时,可以在部署中导入 VDA 计算机。

  1. 在 Connector 上,使用以下 PowerShell 命令生成计算机列表文件。在 Connector 上,必须输入 Citrix 凭据并在弹出对话框中选择客户。

Get-BrokerMachine| foreach { $_.DnsName } | out-file C:\machineList.txt

  1. 将 machineList.txt 文件复制到要在其上运行 Cloud Health Check 的已加入域的计算机。
  2. 在“Cloud Health Check”页面上,单击添加计算机
  3. 选择 Windows VDA 计算机类型。
  4. 单击导入 VDA 计算机
  5. 选择 machineList.txt 文件。
  6. 单击打开

    cloud health check 6

    导入的 VDA 计算机将在“Cloud Health Check”页面上列出。

  7. 选中要在其上运行运行状况检查的每台计算机旁边的复选框。

    Cloud Health Check 将自动在选择的每台计算机上启动验证测试,以确保计算机满足验证测试中列出的条件。如果验证失败,则 状态 列中会显示一条消息,并且该计算机的复选框将被清除。然后,您可以:

    • 解决问题,然后重新选中相应计算机的复选框。这将触发重试验证测试。
    • 跳过相应的计算机(让其复选框处于取消选中状态)。系统不会为该计算机运行运行状况检查。
  8. 验证测试完成后,单击继续

    cloud health check 7

  9. 在所选计算机上运行运行状况检查。摘要列出了运行测试的所有计算机(您选择的通过验证测试的计算机)。

  10. 单击开始检查

    cloud health check 8

    在检查期间和检查之后,状态列将指示计算机的当前检查状态。

  11. 要停止所有正在进行的检查,请单击页面右下角的停止检查。您无法取消单台计算机的运行状况检查,只能取消对所有选定计算机的检查。

    cloud health check 9

  12. 完成所有选定计算机的检查时,右下角的停止检查按钮将变为完成

    cloud health check 10

    • 如果检查失败,可以在操作列中单击重试
    • 如果检查完成时未发现任何问题,操作列将为空。
    • 如果检查发现问题,请单击查看详细信息以查看结果。

    cloud health check 11

如果您使用 Internet Explorer 查看报告,则必须单击允许阻止的内容以显示超链接。

Cloud health check 12

完成所有选定计算机的检查后,单击上一步将导致您丢失检查结果。

检查完成后,单击完成返回到 Cloud Health Check 主屏幕。

检索 VDA 计算机

Cloud Health Check 可以自动检测和检索 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)部署中的 VDA。

要检索您的 VDA,请执行以下操作:

  1. 准备一台与运行 Cloud Health Check 的计算机加入同一域林的新计算机。
  2. 打开 Cloud Health Check,然后单击 Find machine(查找计算机)以登录 Citrix Cloud。

    Cloud health check 检索 1

  3. 选择具有要检索的云站点的客户。

    Cloud health check 检索 2

VDA 列表将显示在 Cloud Health Check 中。该列表还保存在 \ProgramData\Citrix\TelemetryService\ChcDiscovery\ChcDiscoveredMachineList.json 下的本地文件中。

Cloud health check 检索 3

重新打开 Cloud Health Check 时,计算机列表将加载本地缓存。如果在部署中进行了任何更新,则必须单击查找计算机以刷新计算机列表。

注意:

  • Cloud Health Check 仅在运行 Cloud Health Check 的计算机位于同一域林中查找计算机。
  • Citrix Cloud 会话将在一小时后过期。一小时后,您必须再次单击查找计算机以获取最新的 VDA 列表。
  • 如果检索 VDA 列表失败,则会弹出错误消息。可以查看 C:\ProgramData\Citrix\TelemetryService\CloudHealthCheck.log 中的详细信息。

Cloud health check 检索 4

运行状况检查结果

生成报告的运行状况检查包含以下元素:

  • 生成结果报告的时间和日期
  • 已检查的计算机的 FQDN
  • 在目标计算机上检查的条件

在命令行中运行 Cloud Health Check

Cloud Health Check 可以在命令行中运行,以帮助客户执行运行状况检查。您必须是运行 Cloud Health Check 的计算机上的管理员,才能在命令行中使用 Cloud Health Check。

注意:

在命令行中使用 Cloud Health Check 时,一次只能检查一台计算机。只能在目标计算机上同时运行的 CloudHealthCheck.exe 一个实例。如果要检查多台计算机,则必须逐个检查这些计算机,方法是将 cmdlet 封装在 cmdlet/PowerShell 脚本中的循环中。还必须关闭任何打开的 Cloud Health Check UI 实例。

cmdlet

支持的命令行 cmdlet 包括:

  • MachineFQDN - 此 cmdlet 具有强制性。这是目标计算机的完全限定域名。
  • MachineType - 此 cmdlet 是可选的。cmdlet 值可以是 Windows VDA(默认值)或 StoreFront。
  • ReportName - 此 cmdlet 是可选的。cmdlet 值必须是 Windows 上的有效文件名。默认值为 HealthCheckReport
  • SkipAdminCheck - 此 cmdlet 是可选的。可以添加此选项以跳过需要管理员权限的检查。
  • UpdateScripts - 此 cmdlet 是可选的。可以添加此选项以更新来自 CDN 服务器的检查脚本。
  • DisableCeip - 如果在用户界面上启用了 CEIP,则此 cmdlet 是可选的,请添加以禁用 CEIP。
  • Help - 显示有关参数的帮助信息。

示例:

HealthCheckCLI.exe -MachineFQDN machine.domain.local

HealthCheckCLI.exe -MachineFQDN machine.domain.local -ReportName checkreport

HealthCheckCLI.exe -MachineFQDN machine.domain.local -SkipAdminCheck

HealthCheckCLI.exe -MachineFQDN machine.domain.local -UpdateScripts

HealthCheckCLI.exe -MachineFQDN machine1.domain.local,machine2.domain.local,machine3.domain.local

HealthCheckCLI.exe -Help

注意:

参数名称不区分大小写。

默认情况下,控制台输出不会显示在命令行控制台窗口中。可以通过将 |more 附加到 cmdlet 手动显示输出。

示例:HealthCheckCLI.exe -MachineFQDN machine.domain.local|more

命令行默认需要管理员权限才能运行。添加参数 -SkipAdminCheck 以替代对管理员权限的需求。

退出代码

退出代码解释了命令行中的 Cloud Health Check 检查结果。必须在 cmdlet 之前添加 start /wait,才能获取退出代码。

示例:start /wait HealthCheckCLI.exe -MachineFQDN machine.domain.local

退出代码为:

  • 0 - 正常,检查已完成并通过。
  • 1 - 失败,检查已完成,但出现问题。
  • 2 - 错误,检查未完成并出现错误。

还可以使用 cmdlet echo %errorlevel% 获取上次运行命令的退出代码。

报告

Cloud Health Check 为目标计算机创建包含 HealthCheckDataFolder 中的计算机名称的文件夹。在安装 Cloud Health Check 的计算机上创建 .html 文件和 .json 文件。运行状况检查报告位于 %ProgramData%\Citrix\TelemetryService\HealthCheck\Data 中的 HealthCheckDataFolder 中。

仅当目标计算机上存在问题时才会创建报告。

注意:

如果指定的报告名称存在,则会覆盖报告文件。

警报和基本信息存储在 .json 报告中。

JSON 报告屏幕截图

报告代码为:

  • issueKey:问题的纯文本描述。
  • issueUuid:问题的唯一标识字符串。
  • fixRecommendation:问题的修复建议。
  • severity:指示是否必须修复此问题。错误可能指示组件(VDA 或 StoreFront)出现故障,警告指示该组件可以运行,但可能存在一些潜在问题。
  • issueName:问题的标题。
  • issueDescription:问题的详细描述。

更新 Cloud Health Check

如果有新版本的 Cloud Health Check 可用,“Cloud Health Check”窗口的右上角将显示“有可用更新”链接。单击该链接可转至 Citrix 下载页面以获取新版本。

更新 Cloud Health Check

Cloud Health Check 计划程序

使用 Cloud Health Check 计划程序定期执行运行状况检查。

设置时间表

  1. 单击 Cloud Health Check 主窗口中的 Add machine(添加计算机)以添加要对其运行定期检查的计算机。

    cloud health check 计划程序 1

  2. 单击时钟图标,然后单击设置计划

    cloud health check 计划程序 2

  3. 选择计划的时间,然后单击下一步。通过选中每隔以下时间重复执行一次任务复选框,可以将任务设置为重复执行。
  4. 选择将结果输出到 Windows 事件日志。可以将任务设置为将结果写入 Windows 事件日志。
  5. 选择在计划的检查完成后触发自定义 PowerShell 脚本,然后单击下一步
    • 如果需要,请单击编辑在 Windows PowerShell ISE 中编辑脚本内容。
    • 单击定位以打开文件位置,然后使用其他编辑器打开文件以编辑脚本。
    • 单击重置将脚本重置为其原始设置。

      注意:

      • 不能更改脚本的脚本名称和路径。
      • 可以使用 ChcShceduledTrigger.ps1 脚本实现自定义操作,例如在计划的检查报告准备就绪后发送电子邮件。将以下代码添加到脚本末尾。自定义代码以添加正确的电子邮件帐户和 SMTP 服务器地址。使用运行计划任务的帐户的凭据发送电子邮件通知。
    #Sending email example code:
    $body = "CreatedTime: $($report.CreatedTime)"
    $body = $body + "`nStatusCode: $($report.StatusCode)"
    $body = $body + "`nMachineCount: $($report.MachineReports.Count)"
    $from = "mock_email_accout"
    $to = "mock_email_accout"
    $smtpServer = "mock_smtp_server"
    
    Send-MailMessage -Subject "Citrix Cloud Health Check Scheduler Report" -Body $body -From $from -To $to -SmtpServer $smtpServer
    <!--NeedCopy-->
    

    Cloud Health Check 计划程序 3

  6. 为您的计划选择计算机,然后单击下一步

    Cloud Health Check 计划程序 4

  7. 输入运行任务的帐户的凭据,然后单击完成

    Cloud Health Check 计划程序 5

  8. 在 Windows 任务计划程序中创建了 CloudHealthCheckScheduler 任务。

    Cloud Health Check 计划程序 6

查看计划结果

带红点的时钟图标指示在上次检查中发现了问题。要查看结果,请单击时钟图标,然后单击查看结果

Cloud Health Check 计划程序 7

“计划报告”页面显示所有计划运行状况检查任务的结果。单击查看报告可查看每个计划的报告。

Cloud Health Check 计划程序 14

html 报告列出了每个计划的整体报告。下面是该报告的一个示例:

Cloud Health Check 计划程序 12

所有运行状况检查结果都存储在名为 ChcSchedule 的文件夹中。Cloud Health Check 在每次检查运行期间创建三个文件。最多可保留 500 个迭代日志。

Cloud Health Check 计划程序 8

Cloud Health Check 计划程序 11

如果选中将结果输出到 Windows 事件日志复选框,检查结果也会发送到窗口事件日志。

Cloud Health Check 计划程序 13

禁用计划

  1. 单击时钟图标,然后单击设置计划

    Cloud Health Check 计划程序 9

  2. 单击,然后单击完成可禁用计划程序。

    Cloud Health Check 计划程序 10

更多信息

  • 必须首先向 Cloud Health Check 中添加或导入 VDA。有关详细信息,请参阅导入 VDA 计算机
  • Cloud Health Check 计划程序一次只能在加入了域的计算机上安排一个任务。如果您多次设置计划,则只有最新的计划才会生效。

验证测试

在运行状况检查启动之前,验证测试将针对选定的每台计算机自动运行。这些测试可确保满足运行运行状况检查的要求。如果某台计算机的测试失败,Cloud Health Check 将显示一条消息,提供建议的更正措施。

  • Cloud Health Check 无法访问此计算机 - 请确保:
    • 计算机已打开电源。
    • 网络连接正确运行。(这可以包括验证您的防火墙是否已正确配置。)
    • 已打开文件和打印机共享。请参阅 Microsoft 文档以了解相关说明。
  • 启用 PSRemoting 和 WinRM - 可以通过以管理员身份运行 PowerShell,然后运行 Enable-PSRemoting cmdlet 来启用 PowerShell 远程处理和 WinRM。有关详细信息,请参阅 Microsoft 帮助中的 cmdlet。
  • Cloud Health Check 要求 PowerShell 3.0 或更高版本 - 在计算机上安装 PowerShell 3.0 或更高版本,然后启用 PowerShell 远程处理。
  • WMI 未在计算机上运行 - 确保启用 Windows Management Instrumentation (WMI) 访问。
  • 阻止 WMI 连接 - 在 Windows 防火墙服务中启用 WMI。

使用数据收集

使用 Cloud Health Check 时,Citrix 会使用 Google Analytics 来收集匿名使用数据,用于将来的产品功能和改进。默认情况下,数据收集处于启用状态。

要更改使用情况数据收集和上载,请单击 Cloud Health Check UI 中的设置齿轮。然后,您可以选择是否发送信息,方法是选择,然后单击保存

Cloud health check 13

自动修复

自动修复允许 Cloud Health Check 通过更改设置或重新启动服务来自动检测和修复某些问题。

自动修复将检查以下 VDA 注册项目,并提供建议的修复:

  • VDA 计算机域成员身份
    • 修复:使用“修复”模型测试连接安全通道进行修复
  • VDA 服务状态
    • 修复:重新启动 BrokerAgent 服务
  • 与 Controller 通信
    • 修复:重新启动 BrokerAgent 服务
  • 与 Controller 进行时间同步
    • 修复:运行 W32tm 命令

对于会话启动,自动修复将检查以下项目,并提供建议安装的修复:

  • 会话启动服务状态
    • 修复:重新启动 BrokerAgent 服务

默认情况下启用此功能。要将其禁用,请单击 Cloud Health Check 主窗口右上角的齿轮图标,然后取消选中 Attempt to automatically fix VDA issues during health check(尝试在运行状况检查期间自动修复 VDA 问题)。

Cloud Health Check 自动修复 1

结果报告

运行自动修复后,检查结果报告中会有一个部分显示所有详细信息:

Cloud Health Check 自动修复 2

Cloud Health Check 自动修复 3

故障排除

当 Cloud Health Check 无法运行或出现任何异常时,请检查 C:\ProgramData\Citrix\TelemetryService\CloudHealthCheck.log 中的 Cloud Health Check 日志。

每台目标计算机的 Cloud Health Check 日志均位于 C:\ProgramData\Citrix\TelemetryService\HealthCheck\Data\$TargetMachineFQDN\log.txt 中。

启用调试日志:

编辑 C:\Program Files\Citrix\CloudHealthCheck\CloudHealthCheck.exe.config,更新 <add name="TraceLevelSwitch" value="3" /> to <add name="TraceLevelSwitch" value="4" />,保存文件并重新打开 Cloud Health Check。

反馈

要留下有关 Cloud Health Check 的反馈,请填写 Citrix 调查