在 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 到 366)。此时间过后,将自动删除日志。
若要限制日志可使用的磁盘空间量,请选中“限制跟踪日志磁盘空间使用率”复选框,然后键入日志文件可使用的限定磁盘空间(以 GB 为单位)。当日志大小达到此值时,将自动删除较早的日志。
在“诊断日志记录”页上进行所需更改后,请单击“确定”。
可以使用 PowerShell 配置诊断日志记录。
使用 Windows PowerShell 配置诊断日志记录的具体步骤
确认您具有以下成员身份:
SQL Server 实例上的 securityadmin 固定服务器角色。
要更新的所有数据库上的 db_owner 固定数据库角色。
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 PowerShell cmdlet 的权限。
备注
如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin。
在 SharePoint 命令行管理程序中,将驱动器更改为服务器向其写入日志的驱动器。
在 PowerShell 命令提示符处,键入以下命令:
Set-SPDiagnosticConfig -LogLocation D:\DiagnosticLogs
若要限制日志磁盘空间使用率,请在 PowerShell 命令提示符处,键入以下命令:
Set-SPDiagnosticConfig -LogMaxDiskSpaceUsageEnabled
或者,为日志分配最大磁盘空间量:
Set-SPDiagnosticConfig -LogDiskSpaceUsageGB 500
若要查看当前日志记录级别,请在 PowerShell 命令提示符处,键入以下命令:
Get-SPLogLevel
若要更改日志记录级别,请在 PowerShell 命令提示符处,键入以下命令:
Set-SPLogLevel -TraceSeverity Monitorable
若要将所有类别设置回默认级别,请在 PowerShell 命令提示符处,键入以下命令,然后按 Enter:
Clear-SPLogLevel
若要启用事件日志淹没保护,请在 PowerShell 命令提示符处,键入以下命令:
Set-SPDiagnosticConfig -EventLogFloodProtectionEnabled
有关详细信息,请参阅 Set-SPDiagnosticConfig、Set-SPLogLevel 和 Get-SPLogLevel。