在 SharePoint Server 中配置诊断日志记录

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

先决条件

从管理中心执行相应过程的用户帐户必须是 SharePoint 组"Farm Administrators"的成员。

诊断日志记录设置最佳实践

SharePoint Server 环境可能要求在以下情况下配置诊断日志记录设置:在首次部署后、在升级后以及在对环境进行更改后(例如添加或移除服务器)。 下表中的准则可帮助制定针对特定环境的最佳实践。

  • 更改服务器向其中写入日志的驱动器。

    默认情况下,SharePoint Server 会将诊断日志写入它所在的同一驱动器和分区。 由于诊断日志记录会使用大量驱动器空间并影响驱动器性能,因此应将 SharePoint Server 配置为将日志写入未安装 SharePoint Server 的其他驱动器。 还应考虑与 SharePoint Server 在其上写入日志的驱动器的连接速度。 如果配置详细级别日志记录,则服务器将记录大量数据。 因此,连接速度较慢可能会导致日志性能较低。

  • 限制日志磁盘空间使用率。

    默认情况下,诊断日志记录可使用的磁盘空间量是不受限制的。 因此,可限制日志记录使用的磁盘空间量,尤其是在将日志记录配置为写入详细级别的事件时。 在磁盘达到限值时,SharePoint Server 会先删除最旧的日志,然后记录新的日志记录数据。

  • 慎用“详细”设置。

    可以将诊断日志记录配置为记录详细级别的事件。 这意味着 SharePoint Server 将记录它所执行的每项操作。 详细级别日志记录会快速使用驱动器空间,并会影响驱动器和服务器的性能。 可以在进行重要更改时使用详细级别日志记录来记录更多详细信息,然后将日志记录重新配置为仅在进行更改后记录更高级别的事件。

  • 定期备份日志。

    诊断日志包含重要数据。 因此,定期备份这些日志可确保保留此类数据。 如果限制日志驱动器空间使用率或只将日志保留几天时间,则在达到阈值时,SharePoint Server 将自动删除日志文件(首先删除最早的文件)。

  • 启用事件日志淹没保护。

    在启用此设置时,SharePoint Server 会在 Windows 事件日志中检测重复事件,并加以阻止,直到情况恢复正常。

可以为事件日志和跟踪日志设置诊断日志记录级别。 这样可限制写入每个日志的信息的类型和数量。 下表定义了可用于事件日志和跟踪日志的日志记录级别。

事件日志级别

级别 定义

不进行日志记录。
Critical
此消息类型指示一个严重错误,该错误已导致解决方案中出现严重故障。
Error
此消息类型指示一种紧急情况。 应调查所有错误事件。
Warning
此消息类型指示一个可能要注意的潜在问题。 应不断地检查和跟踪警告消息以找出其中的模式。
Information
信息性消息不需要任何操作。 但是,它们可提供用于监视解决方案状态的有价值的数据。
Verbose
此事件日志级别与长事件或消息对应。

跟踪日志级别

级别 定义

不写入跟踪日志。
Unexpected
此级别用于记录有关导致解决方案停止处理的事件的消息。 如果设置为此级别,日志将包含 Unexpected、Exception、Assert 和 Critical 级别的事件。
Monitorable
此级别用于记录有关所有不可恢复的事件的消息,这些事件限制解决方案的功能,但不终止应用程序。 如果设置为此级别,则日志还包含"Unexpected"设置记录的事件。

此级别用于记录不停止处理解决方案的所有意外事件。 如果设置为在此级别记录日志,则日志还包含"Monitorable"设置记录的所有事件。
中等
如果设置为此级别,跟踪日志将包含除"Verbose"和"VerboseEx"消息以外的所有消息。 此级别用于记录有关已执行操作的所有高级信息。 此级别可为构造数据流和操作序列提供足够多的详细信息。 管理员或支持专业人员可使用此日志记录级别来解决问题。 如果设置为此级别,则日志还包含"High"设置记录的所有事件。
Verbose
如果设置为此级别,日志将包含大多数操作。 详细跟踪会产生许多日志消息。 此级别通常只用于在开发环境中执行调试操作。 如果设置为在此级别记录日志,则日志还包含"Medium"设置记录的所有事件。
VerboseEx
Set-SPLogLevel PowerShell cmdlet 支持此级别,其中包含级别相当低的诊断数据。 此级别仅用于开发环境。 如果设置为此级别,日志将包含“Verbose”设置记录的所有事件。

使用管理中心配置诊断日志记录

可以使用 SharePoint 管理中心网站 配置诊断日志记录。

使用管理中心配置诊断日志记录的具体步骤

  1. In Central Administration, on the home page, click Monitoring.

  2. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  3. 在"诊断日志记录"页上的"事件限制"部分,可以按如下方式配置事件限制:

    为所有类别配置事件限制:

  4. 选中"所有类别"复选框。

  5. 从"要报告给事件日志的关键程度最低的事件"列表中选择事件日志级别。

  6. 从"要报告给跟踪日志的关键程度最低的事件"列表中选择跟踪日志级别。

    为一个或多个类别配置事件限制:

  7. 选中所需类别的复选框。

  8. 从"要报告给事件日志的关键程度最低的事件"列表中选择事件日志级别。

  9. 从"要报告给跟踪日志的关键程度最低的事件"列表中选择跟踪日志级别。

    为一个或多个子类别配置事件限制(可以展开一个或多个类别并选择任何子类别):

  10. 单击类别旁边的"(+)"以将其展开。

  11. 选中子类别对应的复选框。

  12. 从"要报告给事件日志的关键程度最低的事件"列表中选择事件日志级别。

  13. 从"要报告给跟踪日志的关键程度最低的事件"列表中选择跟踪日志级别。

    使所有类别的事件限制恢复默认设置:

  14. 选中"所有类别"复选框。

  15. 从"要报告给事件日志的关键程度最低的事件"列表中选择"重置为默认值"。

  16. 从"要报告给跟踪日志的关键程度最低的事件"列表中选择"重置为默认值"。

  17. 在"事件日志淹没保护"部分,选中"启用事件日志淹没保护"复选框。

  18. 在"跟踪记录"部分的"路径"框中,键入要将日志写入到的文件夹的路径。

  19. In the Number of days to store log files box, type the number of days (1-366) that you want logs to be kept. After this time, logs will automatically be deleted.

  20. To restrict the disk space that logs can use, select the Restrict Trace Log disk space usage check box, and then type the number gigabytes (GB) you want to restrict log files to. When logs reach this value, older logs will automatically be deleted.

  21. 在"诊断日志记录"页上进行所需更改后,请单击"确定"。

使用 PowerShell 配置诊断日志记录

可以使用 PowerShell 配置诊断日志记录。

使用 PowerShell 配置诊断日志记录

  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 PowerShell cmdlet 的权限。

    注意

    [!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 在 SharePoint 命令行管理程序中,将驱动器更改为服务器向其写入日志的驱动器。

  3. 在 PowerShell 命令提示符处,键入以下命令:

    Set-SPDiagnosticConfig -LogLocation D:\DiagnosticLogs
    
  4. 若要限制日志磁盘空间使用率,请在 PowerShell 命令提示符处,键入以下命令:

    Set-SPDiagnosticConfig -LogMaxDiskSpaceUsageEnabled
    

或者,为日志分配最大磁盘空间量:

Set-SPDiagnosticConfig -LogDiskSpaceUsageGB 500
  1. 若要查看当前日志记录级别,请在 PowerShell 命令提示符处,键入以下命令:

    Get-SPLogLevel
    
  2. 若要更改日志记录级别,请在 PowerShell 命令提示符处,键入以下命令:

    Set-SPLogLevel -TraceSeverity Monitorable
    

若要将所有类别设置回默认级别,请在 PowerShell 命令提示符处,键入以下命令,然后按 Enter:

Clear-SPLogLevel
  1. 若要启用事件日志淹没保护,请在 PowerShell 命令提示符处,键入以下命令:

    Set-SPDiagnosticConfig -EventLogFloodProtectionEnabled
    

有关详细信息,请参阅 Set-SPDiagnosticConfigSet-SPLogLevelGet-SPLogLevel

另请参阅

概念

SharePoint Server 2016 中的监控概述