Windows查看并导出事件日志

程序报错、服务启动失败或连接异常时,应先保存对应时段的Windows事件日志,再做可能改变现场的操作。事件日志能提供时间、来源和错误内容,但一条错误或一次异常关机记录,不能单独证明故障责任或根因。本文教按时间筛选并导出,不清空日志。

先记下发生时间和环境

  • 异常开始和结束时间,以及服务器时区;向支持描述时同时写明北京时间或其他明确时区。
  • 操作发生在哪台实例、哪个Windows账号、哪个应用或服务上。
  • 完整错误文字和已经做过的操作,不只截取“失败”两个字。
  • 与故障相关的应用日志另行保存;Windows系统日志不包含所有程序自己的详细记录。

在事件查看器筛选

中文事件查看器Windows日志分类与筛选当前日志入口
Windows Server 2012 R2中文事件查看器示例:先选择需要排查的日志,再点“筛选当前日志”。图中选择“安全”,应用或系统故障应切换到相应日志。
中文筛选当前日志对话框中的记录时间、事件级别、来源与事件ID
Windows Server 2012 R2中文筛选窗口示例:按故障时间、级别和来源缩小范围。4648是图中登录事件示例值,不是通用排障条件;事件ID应按实际问题决定。
  1. 在服务器按Win+R运行eventvwr.msc。打开“Windows日志→系统”,查看驱动、系统组件和服务相关记录;程序问题再看“应用程序”。
  2. 在右侧选择“筛选当前日志”。把“已记录”设置为自定义时间范围,包含异常之前和恢复之后的一段时间,避免只选到单个瞬间。
  3. 按需要选择级别或事件来源,但第一次采集不要把信息级别一概排除,周边正常启动、停止记录也可能有用。
  4. 点击相关事件,阅读下方“常规”和“详细信息”。记录事件ID、来源、时间及完整说明,不能把不同来源的同一数字ID当成相同问题。

保存可供分析的文件

  1. 在已经筛选的通道右侧选择保存筛选后日志的功能,保存为.evtx,文件名写明实例、通道和时间范围。
  2. 导出时如询问是否保存显示信息,可按接收方分析环境选择相应语言信息。保留原.evtx,截图只作为重点提示。
  3. 分别保存必要的“系统”和“应用程序”通道。涉及特定组件时,在“应用程序和服务日志”中打开对应通道,不盲目导出整个系统全部日志。
  4. 将导出的文件在事件查看器中重新打开,确认时间范围和关键事件可读取,原始文件在自己控制的目录留存;工单中先提供必要错误文字和脱敏截图。

使用命令导出整个通道

如果图形界面不可用,可以在管理员PowerShell导出通道。下面会导出整个System和Application通道,而不是刚才图形界面的筛选结果;提交前评估文件体积和敏感信息范围。

$out = Join-Path $env:USERPROFILE "Desktop\BaoleLogs"
New-Item -ItemType Directory -Path $out -Force | Out-Null
wevtutil epl System "$out\System.evtx"
wevtutil epl Application "$out\Application.evtx"

导出不会清空现有日志。不要把epl误改成cl;cl是清除操作,不是保存证据。命令报拒绝访问时,先确认权限和通道名称,不通过关闭日志服务绕过。

工单中附上什么

正文写明实例ID、明确时区下的异常时间、完整错误、业务影响和复现步骤,粘贴必要的错误片段或上传脱敏截图。目前工单表单列出的附件格式为jpg、gif、jpeg、png,不能直接把.evtx、txt或压缩包当作工单附件上传。原始.evtx和应用日志先在自己控制的位置留存;确需提供原文件时,先向支持核实官方安全接收方式。日志可能包含用户名、内部地址和业务路径,不公开上传完整安全日志。异常重启类问题可继续阅读相应专题,保留现场优先于反复重启。

相关文档