市场上有很多Log Viewer / Log Analyzer工具,反映出大多数操作系统提供的标准日志分析功能不足以充分解决复杂软件问题的排查。
因此,面向命令行的Linux/Unix操作系统提供了grep、正则表达式等强大的标准日志分析工具。这些足以分析单个日志行数据,例如计算交易率统计数据。但是,如果我们需要,例如分析日志行之间的相关性,即逻辑链接行的识别。所以,对于上面的例子,如果我们需要统计系统响应时间,我们需要先找到每个事务的起始行和结束行。即使在 Linux 中,此任务也需要高级脚本编写,最终该任务可能会被证明太耗时,无法在合理的时间内完成。
Windows本质上使用的是图形用户界面,但没有标准的图形日志分析器,标准的文本编辑器仅供办公使用,仅提供简单的字符串搜索。 Mac OS 也是如此,尽管(因为它基于 Linux)它也可以选择使用命令行界面。可以使用 Cygwin 软件在 Windows 中模拟 Linux 环境。
在我们看来,为了选择最适合您任务的日志查看器,您需要考虑 5 个主要事项。
问题#1。您需要分析的日志文件的大小是多少。尽管在许多情况下软件系统有一些日志循环的方法,但有时“日志文件”会变得非常大。软件专业人员有时必须分析大于 1 GB 的文件。特别是在 Windows 中,处理大文件并不是一件容易的事,因此您应该根据自己大小的日志文件来评估该工具的性能。
问题2、需要分析二进制文件吗?大多数工具只支持文本格式的日志。
问题 3. 您是否预计需要合并多个日志文件以在更长的时间间隔内进行分析?例如。获得更可靠的统计数据。并非每个工具都支持此功能。
问题#4。你想使用图形分析工具吗?我们都知道一张图顶一千字,但是对数分析也是这样吗?答案是肯定的。每个日志行都充满了信息,正如我们之前看到的,日志中的行数通常太多,无法在它们之间进行视觉导航——滚动日志时,您不能只在内存屏幕上保留那么多信息。图表为分析添加了新的维度,可以更轻松地查看趋势,或更快地找到您要查找的内容。
向日志查看器添加图形功能并非易事。日志文件没有规则的结构:通常,日志是许多独立进程写入消息的地方,每个进程可能使用自己的格式。与结构良好的文件(例如电子表格)相比,我们不能只将一列映射到另一列。
解决这个问题的一种方法是增加识别和分析日志模式的能力,这可以让我们
问题5.是否需要搜索日志模式并进行分析。日志模式是关键字的可重复组合,可能具有与之关联的不同值。
举个例子。任何网络服务器日志都会包含一系列重复的 HTTP GET 请求和 200 OK(或其他代码)响应。每个请求都有一个指向服务器上特定页面的 URI。这三个对象(GET、URI 和 200 OK)形成了一个自然模式,可以绘制其随时间的演变,其中请求 URI 和/或响应代码可以表示为图形点的标题。
此示例展示了将使用模式的日志数据处理与图形表示相结合时日志分析的强大功能。