介绍:Log Parser Studio

原文发布于 2012 年 3 月 8 日(星期四)

经常使用 Log Parser 2.2 的用户都知道,此工具功能强大而且实用,它可以从 IIS (Internet Information Server) 及其他日志中获取重要信息。另外,SQL 功能增强后允许对数 GB 大小的日志进行明确搜索,可以在筛选掉无用信息时仅返回需要的数据。其唯一缺少的是用作 Log Parser 前端的强大图形用户界面 (GUI),以及用于管理用户在一段时间内积累的所有出色查询和脚本的“查询库”。

Log Parser Studio 旨在弥补这一欠缺;借助此工具,使用 Log Parser 2.2 的用户(甚至由于缺少界面而不使用此工具的用户)可以提升工作速度和工作效率,不用太多地摆弄满是查询的脚本和文件就能获得所需的数据。

使用 Log Parser Studio(简称 LPS),我们可以将所有查询存储到一个中心位置。我们可以在“查询编辑器”中编辑并创建新查询,并可以进行保存供日后使用。我们还可以使用自定义文本搜索来搜索查询内容,并将库和查询以不同格式导出或导入,以便轻松协作或针对不同协议存储多种单独的库。

处理 Exchange 协议的日志

我们都深知一点:处理各种 Exchange 协议的日志非常耗时。在缺少专用工具,但又对输出格式要求较高时,筛选这些日志并使用 Log Parser(或其他某种工具)进行处理,对于 Exchange 管理员来说将是一项令人厌烦的任务。而且,您还需要具备编写这些 SQL 查询的专业知识。当然,您也可以使用可在 Web 上找到的特制脚本,然后对输出进行分析以尝试弄明白这些冗长的日志的输出结果。Log Parser Studio 的设计主旨是用于快速轻松地处理 Exchange 协议的各种日志。启动此工具后,您会发现针对不同的 Exchange 协议设置了不同标签,即 Microsoft Exchange ActiveSync (MAS)、Exchange Web 服务 (EWS)、Outlook Web App (OWA/HTTP) 等。在这些标签下有数十个针对特定用途编写的 SQL 查询(查询的描述及其他详情也会出现在主用户界面上),只需单击一下即可立即运行!

现在,让我们来探究一下 Log Parser Studio 的一些超酷功能的细节吧…

查询库和管理

启动 LPS 后,首先映入眼帘的是随查询预加载的查询库。这是管理我们所有查询的位置。单击“库”(Library) 标签即可使用查询库。可以使用多种方法加载查询以进行检查或执行。最简单的方法是在列表中选择该查询,然后双击它。此时,查询将在其自己的“查询”(Query) 标签中自动打开。查询库 是查询的总部。LPS 维护的所有查询都存储在此库中。您可以利用简单的控件快速定位到所需的查询,也可以将其加入收藏,以便日后快速访问。

图像

库恢复

LPS 附带的初始库嵌入在应用程序中,在程序安装时创建。如果您删除、损坏或丢失了此库,则可以使用恢复库功能(“选项”(Options)|“恢复库”(Recover Library))轻松重置为原始库。在恢复库时,所有现有的查询都将被删除。如果您需要保留某些自定义/修改的查询,您应该先将其导出,在恢复默认查询集后,即可以将导出的查询合并回 LPS 中。

导入/导出

根据您的需要,您可以将整个库或部分库以默认的 LPS XML 格式或作为 SQL 查询导入或导出。例如,如果您有一个文件夹里存满了 Log Parser SQL 查询,您可以将部分或全部查询导入到 LPS 库中。在导入后,您通常只需要进行些许调整。LPS 只需要基本 SQL 查询,并将“[LOGFILEPATH]”和/或“[OUTFILEPATH]”替换为文件名引用,在此工具随附的 PDF 手册(可通过“LPS”|“帮助”(Help)|“文档”(Documentation) 访问该手册)中有详细介绍。

查询

请牢记,编写合理的结构化查询是决定查询成败的关键,成功的查询将返回您需要的准确信息,而失败的查询将占用您的系统,返回过多不符合要求的信息,而且有时会导致应用程序崩溃。

图像

创建完美的 SQL/Log Parser 查询的技巧不属于本文讨论的范围,不过,LPS 附带的所有查询均能够获得最精准的结果,同时返回最少量的记录。关键在于了解您的需要以及如何通过返回最少行获得所需的数据!

批处理作业和多线程处理

您会发现,LPS 与 Log Parser 2.2 结合起来就是一款非常强大的工具。但是,如果您只能一次运行一个查询,然后就是等待结果,则很可能无法获得您本应获得的效果。为此,LPS 同时包含了批处理作业和多线程查询。

一个批处理作业其实就是预定义查询的集合,只需按下一个按钮即可执行所有查询。从“批处理管理器”(Batch Manager) 中,您可以移除任何一个或所有查询以及执行这些查询。您也可以通过单击“批处理管理器”(Batch Manager) 中的“运行多个查询”(Run Multiple Queries) 按钮或“执行”(Execute) 按钮来执行查询。在执行时,LPS 将准备和执行批次中的每个查询。默认情况下,LPS 会在准备好每个查询后立即将所有查询发送到 Log Parser 2.2。这是多线程处理的优势所在。例如,如果我们将 50 个查询设置为一个批处理作业并执行此作业,那么在后台将有 50 个线程同时使用 Log Parser,这让用户可以有空处理其他查询。各个作业结束后,结果将发送回网格或 CSV 输出,具体取决于查询类型。此时,您仍然可以继续进行其他查询、搜索、修改和执行。每个查询完成后,查询的线程将停用,查询资源将被释放。这些线程将在后台得到非常高效地管理,因此能够立即运行多个查询。

图像

那么,如果我们出于性能或其他原因希望一个批次中的查询同时运行,该怎么办?LPS 的选项中已内置了这项功能。只需选中“依次处理批次查询”(Process Batch Queries in Sequence)复选框,更改“LPS”|“选项”(Options)|“首选项”(Preferences) 即可。选中后,系统将执行批次中的第一个查询,直到第一个查询完成后,下一个查询才开始执行。此过程将在批次中的最后一个查询执行后结束。

自动化

与批处理作业相结合,自动化功能实现了无管理按计划自动处理批处理作业。例如,我们可以创建一个将自动运行所选批处理作业的计划任务,也可以对一组单独的自定义文件夹运行此任务。此过程需要两个组件,一个是文件夹列表文件 (.FLD),另一个是批处理列表文件 (.XML)。我们需要在 LPS 内提前创建这些文件。有关如何进行此操作的更多详细信息,请参考手册。

图表

可以使用内置的图表功能对将数据返回到“结果网格”的许多查询绘制图表。也就是说,图表的基本要求与 Log Parser 2.2 相同。

  1. 网格的第一列可以是任何数据类型(字符串、数字等)
  2. 第二列则必须是某类数字(整数、双精度、小数),不允许有字符串

在创建自己的查询时请记住上述要求,以便您在编写查询时不会忘记在第二列中加入数字。若要生成图表,请在查询完成后单击图表按钮。对于上述第二点,即使您忘记按要求操作,您还可以在事后拖动任何一个包含数字的列,将其放到第二列内。这样,如果您有多个包含数字的列,只要拖动您需要的一列放到第二列内即可,此时将根据相同数据生成不同的图表。同样,有关图表功能的更多详细信息,请参考手册。

图像

键盘快捷方式/命令

LPS 中内置了多个键盘快捷方式。在使用 LPS 时您可以随时查看快捷方式列表,方法是单击“LPS”|“帮助”(Help)|“键盘快捷方式”(Keyboard Shortcuts)。目前包含的快捷方式有:

快捷方式 作用
CTRL+N 开始新查询。
CTRL+S 在库或查询标签(根据焦点情况)内保存活动查询。
CTRL+Q 打开库窗口。
CTRL+B 将库中选中的查询添加到批次。
ALT+B 打开批处理管理器。
CTRL+B 将选中的查询添加到批次。
CTRL+D 将当前活动查询复制到新标签。
CTRL+ALT+E 打开错误日志(如果有)。
CTRL+E 将当前选中的查询结果导出到 CSV。
ALT+F 将库中选中的查询添加到收藏夹列表。
CTRL+ALT+L 在第一个可用的文本编辑器中打开原始库。
CTRL+F5 从磁盘重新加载库。
F5 执行活动查询。
F2 编辑库中当前选中的查询的名称/描述。
F3 显示 IIS 字段列表。

支持的输入和输出类型

Log Parser 2.2 能够查询多种日志。由于 LPS 仍处于开发阶段,目前仅支持最常用的类型。更多输入和输出类型将在未来推出的版本或更新中不断增加。

支持的输入类型

完全支持 W3SVC/IIS、CSV、HTTP 错误,基本支持 Log Parser 2.2 内置的所有输入格式。此外,还有一些不随默认 Log Parser 2.2 安装包含的自定义编写的 LPS 格式(如 Microsoft Exchange 特定格式)。

支持的输出类型

目前支持的输出文件类型有 CSV 和 TXT。

Log Parser Studio - 快速入门指南

希望跳过所有详细介绍,直接运行一些查询?从这里开始 …

Log Parser Studio 需要确认的第一件事是日志文件的位置,以及您希望保存将其结果导出为 CSV 文件的任何查询的默认存储位置。

1. 设置默认的 CSV 输出路径:

a. 进入“LPS”|“选项”(Options)|“首选项”(Preferences)|“默认输出路径”(Default Output Path)。

b. 浏览并选择您希望用于存储导出结果的文件夹。

c. 单击“应用”(Apply)。

d. 导出 CSV 文件的任何查询现在都将保存到此文件夹中。
注意:如果在开始前您忘记设置此路径,CSV 文件将默认保存到 %AppData%\Microsoft\Log Parser Studio,不过建议您更改此保存位置。

2. 打开“日志文件管理器”(Log File Manager),告知 LPS 日志文件的位置。如果您在完成此步骤前尝试运行查询,LPS 将发出提示,要求您设置日志路径。单击提示窗口的“确定”(OK) 后将出现“日志文件管理器”(Log File Manager)。单击“添加文件夹”(Add Folder) 以添加文件夹,或单击“添加文件”(Add File) 以添加一个或多个文件。在添加文件夹时,您仍必须至少选择一个文件,以通知 LPS 我们正在使用的日志类型。执行此操作后,LPS 会自动转变为通配符 (*.xxx),表示将搜索文件夹中所有匹配的日志。

您可以通过检查 Log Parser Studio 右下角的状态栏轻松确认当前正在搜索的文件夹或文件。若要查看完整路径,请在状态栏上滚动鼠标。

注意LPS 和 Log Parser 可处理能够进行查询的多种日志和对象。请切记,查询的日志类型必须与所执行的查询相匹配。换言之,如果运行的查询需要 IIS 日志,则只能在文件管理器中选择 IIS 日志。否则(这一点很容易忘记),在运行查询时将返回错误或意外行为。

3. 从库中选择查询并运行它:

a. 如果未进行选择,请单击“库”(Library) 标签。

b. 从列表中选择查询并双击它。这时查询将在自己的标签中打开。

c. 单击“运行单个查询”(Run Single Query) 按钮执行此查询

查询将在后台开始执行。查询完成后,将有两种可能的输出目标;查询标签上半部分中的结果网格或 CSV 文件。一些查询将返回到网格,而其他占用较多内存的查询将保存为 CSV。

一般规则是,有可能返回超大结果集的查询也许更适合保存为 CSV 文件,以便在 Excel 中进一步进行处理。获得结果后,便可使用许多功能处理这些结果。有关更多详细信息,请参考手册。

希望 Log Parser Studio 能带给您更多便利!不要忘记 – 查询需要它!

Kary Wall
呈报工程师
Microsoft Exchange 支持

这是一篇本地化的博客文章。请访问 Introducing: Log Parser Studio 以查看原文