Product Documentation

配置日志记录

May 22, 2017
配置日志记录捕获针对数据库的站点配置更改和管理活动。您可以使用记录的内容进行以下操作:
  • 在发生配置更改后诊断问题和故障排除;日志提供导航路径记录
  • 协助变更管理及跟踪配置
  • 报告管理活动

您可以设置配置日志记录首选项,显示配置日志,并从 Citrix Studio 生成 HTML 和 CSV 报告。您可以按日期范围和全文搜索结果过滤显示的配置日志。如果启用强制日志记录,可以阻止进行配置更改,除非这些更改可以记入日志。只要具有适当的权限,即可删除配置日志中的条目。您无法使用配置日志记录功能编辑日志内容。

配置日志记录使用 PowerShell SDK 和 Configuration Logging Service。Configuration Logging Service 会在站点中的每个 Controller 上运行;如果某个 Controller 出现故障,另一个 Controller 上的服务将自动处理日志记录请求。

默认情况下,启用配置日志记录功能,它使用在您创建站点时所创建的数据库(站点配置数据库)。您可以为数据库指定不同位置。配置日志记录数据库与站点配置数据库支持相同的高可用性功能。

对配置日志记录的访问通过委派管理进行控制,需要具有编辑日志记录首选项和查看配置日志权限。

配置日志会在创建时进行本地化。例如,以英语创建的日志将以英语显示,而无论阅读器的区域设置如何。

记录的内容

通过 Studio、Director 和 PowerShell 脚本启动的配置更改和管理活动都在记录范围之内。记录的配置更改包括对以下项目的处理(创建、编辑、删除和分配):

  • 计算机目录
  • 交付组(包括更改电源管理设置)
  • 管理员角色和作用域
  • 主机资源和连接
  • 通过 Studio 管理的 Citrix 策略

记录的管理更改示例包括:

  • 虚拟机或用户桌面的电源管理
  • Studio 或 Director 向用户发送消息

以下操作不在记录范围之内:

  • 自动操作,如虚拟机的池管理启动。
  • 通过组策略管理控制台 (GPMC) 实施的策略操作;使用 Microsoft 工具查看这些操作的日志。
  • 通过注册表、直接访问数据库或从 Studio、Director 或 PowerShell 以外的来源进行的更改。
  • 初始化部署后,配置日志记录从在 Configuration Service 中注册首个 Configuration Logging Service 实例时开始可用。因此,早期阶段的配置不会记入日志(例如,获取和应用数据库架构以及初始化虚拟机管理程序期间的配置)。

管理配置日志记录

默认情况下,配置日志记录使用在您创建站点时所创建的数据库(也称为站点配置数据库)。Citrix 建议您为配置日志记录数据库(和监视数据库)使用单独的位置,原因如下:

  • 配置日志记录数据库的备份策略可能与站点配置数据库的备份策略有所不同。
  • 通过配置日志记录(以及 Monitoring Service)收集的数据量可能会对站点配置数据库的可用空间造成负面影响。
  • 它会针对三个数据库拆分单点故障。

注意:不支持配置日志记录的产品版本在 Studio 中没有日志记录节点。 

启用和禁用配置日志记录以及强制日志记录

默认情况下,启用配置日志记录,禁用强制日志记录。

  1. 在 Studio 导航窗格中,选择日志记录
  2. 在“操作”窗格中选择首选项。“配置日志记录”对话框中包含数据库信息,并指示配置日志记录和强制日志记录处于启用还是禁用状态。
  3. 选择所需的操作:

要启用配置日志记录,请选择启用单选按钮。此为默认设置。如果无法向数据库写入信息,则日志记录信息将被丢弃,但操作仍继续。

要禁用配置日志记录,请选择禁用单选按钮。如果先前已启用日志记录,现有的日志仍然可通过 PowerShell SDK 进行读取。

要启用强制日志记录,请选择阻止在数据库不可用时更改站点配置单选按钮。不允许写入通常会写入日志的配置更改或管理活动,除非可将其写入配置日志记录数据库。仅当启用配置日志记录,即选择启用单选按钮时,才能启用强制日志记录。如果 Configuration Logging Service 出现故障,并且未使用高可用性,则会使用强制日志记录。在这种情况下,将不会执行通常会记入日志的操作。

要禁用强制日志记录,请选择允许在数据库不可用时更改站点配置单选按钮。即使配置日志记录的数据库无法访问,也允许执行配置更改和管理活动。此为默认设置。

更改配置日志记录数据库的位置

注意:启用强制日志记录时无法更改数据库位置,因为更改位置时会断开连接一小段时间,在此期间无法进行日志记录。

  1. 使用支持的 SQL Server 版本创建数据库服务器。
  2. 在 Studio 导航窗格中,选择日志记录
  3. 在“操作”窗格中选择首选项
  4. 在“日志记录首选项”对话框中,选择更改日志记录数据库
  5. 在“更改日志记录数据库”对话框中,指定包含新数据库服务器的服务器的位置。有效格式在“数据库”一文中列出。
  6. 要允许 Studio 创建数据库,请单击确定。出现提示时,单击确定,系统将自动创建数据库。Studio 会尝试使用当前 Studio 用户的凭据访问数据库;如果此操作失败,系统会提示您输入数据库用户的凭据。然后,Studio 会将数据库架构上载到数据库。(凭据只会在创建数据库期间保留。)
  7. 要手动创建数据库,请单击生成数据库脚本。生成的脚本包括有关手动创建数据库的说明。在上载架构之前,请确保数据库为空,且至少有一个用户有权访问并更改该数据库。

先前数据库中的配置日志记录数据不会导入新数据库中。检索日志时,不能合并来自两个数据库的日志。新配置日志记录数据库中的第一个日志条目将指明发生了数据库更改,但无法确定先前的数据库。

显示配置日志内容

启动配置更改和管理活动时,Studio 的中上部窗格中将显示 Studio 和 Director 创建的高级别操作。高级别操作会导致一个或多个服务和 SDK 调用,后者为低级别操作。在中上部窗格中选择一项高级别操作时,中下部窗格将显示低级别操作。

如果操作在完成之前失败,可能无法在数据库中完成日志操作;例如,开始记录将没有对应的停止记录。在这种情况下,日志会指出缺少信息。在基于时间范围显示日志时,如果不完整日志中的数据符合条件,则会显示这些不完整的日志。例如,当请求过去五天的所有日志时,如果存在的某个日志的开始时间在过去五天内但没有结束时间,则会包括该日志。

在使用脚本调用 PowerShell cmdlet 时,如果您在创建低级别操作时不指定高级别父操作,则配置日志记录将创建替代的高级别操作。

要显示配置日志内容,请在 Studio 导航窗格中选择日志记录。默认情况下,在中心窗格显示的内容会按时间顺序列出日志内容(最新的条目在最前面),并按日期进行分隔。

显示内容过滤条件 完成此操作
搜索结果 在中间窗格顶部的搜索框中输入文本。过滤的显示内容包括搜索结果的数量。要返回到标准的日志记录显示,请清除搜索框中的文本。
列标题 单击列标题可以按该字段对显示内容排序。
日期范围 从中间窗格顶部搜索框旁边的下拉列表框中选择一个时间间隔。

生成报告

您可以生成包含配置日志数据的 CSV 和 HTML 报告。

  • CSV 报告包含指定时间间隔内的所有日志记录数据。数据库中的分层数据被简化为单个 CSV 表。所有数据项在此文件中都不具有优先级。不进行任何格式化,也不假定具有可读性。文件(名称为 MyReport)只包含通用格式的数据。CSV 文件通常用于存档数据,或作为报告或数据操作工具(如 Microsoft Excel)的数据源。
  • HTML 报告以便于用户理解的格式提供指定时间间隔内的日志记录数据。它提供层次分明的导航视图,便于检查更改。HTML 报告包括两个文件,名称分别为“摘要”和“详细信息”。“摘要”列出了高级别操作:每个操作发生的时间、执行者和结果。单击每个操作旁边的详细信息链接可转至提供其他信息的“详细信息”文件中的低级别操作。

要生成配置日志报告,请在 Studio 导航窗格中选择日志记录,然后在“操作”窗格中选择创建自定义报告

  • 选择报告的日期范围。
  • 选择报告格式:CSV、HTML 或二者。
  • 浏览到报告的保存位置。

删除配置日志内容

要删除配置日志,必须具有特定的委派管理和 SQL Server 数据库权限。

  • 委派管理 — 必须具有允许读取部署配置的委派管理角色。内置的完全权限管理员角色具有此权限。自定义角色必须具有在“其他权限”类别中选择的“只读”或“管理”权限。

    要在删除配置日志记录数据之前为其创建备份,自定义角色还必须具有在“日志记录权限”类别中选择的“只读”或“管理”权限。

  • SQL Server 数据库 — 必须具备拥有可从数据库中删除记录权限的 SQL Server 登录。有两种方式实现此要求:
    • 使用具有 sysadmin 服务器角色的 SQL Server 数据库登录名,该角色允许在数据库服务器上执行任何活动。此外,serveradmin 或 setupadmin 服务器角色还允许执行删除操作。
    • 如果部署需要更高的安全性,请使用映射到具有从数据库中删除记录权限的数据库用户的非 sysadmin 数据库登录名。
      1. 在 SQL Server Management Studio 中,以“sysadmin”以外的服务器角色创建 SQL Server 登录名。
      2. 将登录名映射到数据库中的某个用户;SQL Server 将自动在数据库中以登录名创建用户。
      3. 在数据库角色成员身份中,为数据库用户至少指定一种角色成员身份:ConfigurationLoggingSchema_ROLE 或 dbowner。

      有关更多信息,请参阅 SQL Server Management Studio 文档。

要删除配置日志,请执行以下操作:

  1. 在 Studio 导航窗格中,选择日志记录
  2. 在“操作”窗格中选择删除日志
  3. 在删除日志前,系统会询问是否要创建日志备份。如果选择创建备份,请浏览到应保存备份存档的位置。备份将以 CSV 文件格式创建。

在清除配置日志后,日志删除是发布到空日志的第一项活动。该条目将提供有关删除日志的用户以及时间的详细信息。