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

 

**上一次修改主题:**2017-07-31

**摘要:**了解如何从 SharePoint 管理中心网站或通过使用 Windows PowerShell 在 SharePoint Server 2013 和 SharePoint Server 2016 中配置诊断日志记录。

本文内容:

  • 开始之前

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

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

  • 使用 Windows PowerShell 配置诊断日志记录

先决条件

从管理中心执行相应过程的用户帐户必须是 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”设置记录的事件。

High

此级别用于记录不停止处理解决方案的所有意外事件。如果设置为在此级别记录日志,则日志还包含“Monitorable”设置记录的所有事件。

Medium

如果设置为此级别,跟踪日志将包含除“Verbose”和“VerboseEx”消息以外的所有消息。此级别用于记录有关已执行操作的所有高级信息。此级别可为构造数据流和操作序列提供足够多的详细信息。管理员或支持专业人员可使用此日志记录级别来解决问题。如果设置为此级别,则日志还包含“High”设置记录的所有事件。

Verbose

如果设置为此级别,日志将包含大多数操作。详细跟踪会产生许多日志消息。此级别通常只用于在开发环境中执行调试操作。如果设置为在此级别记录日志,则日志还包含“Medium”设置记录的所有事件。

VerboseEx

Set-SPLogLevelPowerShell cmdlet 支持此级别,其中包含级别相当低的诊断数据。此级别仅用于开发环境。如果设置为此级别,日志将包含“Verbose”设置记录的所有事件。

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

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

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

  1. 在管理中心的主页上,单击“监控”。

  2. 在“监控”页上的“报告”部分,单击“配置诊断日志记录”。

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

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

    1. 选中“所有类别”复选框。

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

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

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

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

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

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

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

    1. 单击类别旁边的“(+)”以将其展开。

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

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

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

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

    1. 选中“所有类别”复选框。

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

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

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

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

  6. 在“存储日志文件的天数”框中,键入要将记录保留的天数(1 到 366)。此时间过后,将自动删除日志。

  7. 若要限制日志可使用的磁盘空间量,请选中“限制跟踪日志磁盘空间使用率”复选框,然后键入日志文件可使用的限定磁盘空间(以 GB 为单位)。当日志大小达到此值时,将自动删除较早的日志。

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

使用 Windows PowerShell 配置诊断日志记录

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

使用 Windows 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
    
  5. 若要查看当前日志记录级别,请在 PowerShell 命令提示符处,键入以下命令:

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

    Set-SPLogLevel -TraceSeverity Monitorable
    

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

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

    Set-SPDiagnosticConfig -EventLogFloodProtectionEnabled
    

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

See also

SharePoint Server 2016 中的监控概述