可视化和导航大型日志文件的有效方法

时间:2017-02-14 05:23:31

标签: java logging visualization debuggervisualizer

我正在设计一个可视化java日志的工具。具体来说,只要调用方法并返回方法,就会通过打印到控制台来生成这些日志。这些日志语句使用字节码操作注入整个Android OS源代码。到目前为止,我们已经能够检测Android操作系统并生成这些日志语句。这些日志语句中包含的字段是:调用方法的进程,方法签名,参数类型,返回类型和时间戳



使用这些日志的工具将具有详细视图(放大时)和高级概述(缩小时)。我正在寻找在高级概述中可视化和导航这个巨大的日志文件的有效方法,以获得有价值的信息。每个日志语句都与另一个日志语句具有层次关系。例如,方法调用的日志语句将是父方法中调用的方法的所有日志语句的父语句。

我的问题是,

  1. 在庞大的日志文件中可视化和导航这些分层日志语句以获得良好的高级概述的有效方法是什么?序列图对于详细视图很有用,但不适合大量的呼叫追踪。
  2. 市场上是否存在具有类似功能的现有工具?我查看了日志可视化工具,但没有一个具有高级概述可视化。
  3. 作为一名应用程序开发人员,配备了一个为每个被调用方法生成日志语句并且可以在所述Android VM上运行应用程序的已检测VM,哪些信息对您有用?
  4. 还有其他建议吗?

  5. 提前致谢。

    编辑:我添加了一些有关日志语句的分层性质的详细信息。

2 个答案:

答案 0 :(得分:0)

我认为最接近您描述的图表是序列图。以前有一个eclipse插件可以监视你的源代码并建立所有调用/返回/定时/等的序列图。

以下是图表如何工作以及如何手动创建图片的说明:

http://agilemodeling.com/artifacts/sequenceDiagram.htm

它们是模拟代码在运行时如何以非常高的级别进行交互的好方法。

只需快速查询 - 这是在日食市场:

https://marketplace.eclipse.org/content/objectaid-uml-explorer#group-metrics-tab

我没有使用过这个,只是在查询中出现了什么,但是我确实记得用我正在分析的代码创建了一个很棒的图表 - 覆盖了我的多维数据集的整个墙壁并且非常有帮助。

答案 1 :(得分:0)

根据您的问题,您使用的数据是服务器日志;日志文件的结构是非常复杂的任务,处理不同的日志文件也可以在一定的限制下进行可视化,您需要创建或开发自己的标准工具来对日志文件进行分类和聚合,以便进行处理,然后进行可视化。但是,一些工具和平台已经存在,例如:

其中一种有效的方法是在管道中处理大数据信息的数据,因为这些日志语句是使用Apache sparks,splunk或Cisco Mars的服务器日志,并集成在SIEM的解决方案中以实时处理日志用于处理服务器日志文件的最有效方法。

HPE安全性ArcSight数据平台还可以提供高性能,经济高效的解决方案,统一企业机器数据中的大数据收集,报告和分析。

Clock View和PeekKernelFlows使用NetFloW日志来长时间监控大型IP空间。此外,一个名为ELVIS可扩展日志可视化工具的工具可以关联服务器日志的过程,并提供重要数据的表示摘要视图。

我强烈建议您使用简单的日志结构。所选字段的FTP或IIS服务器日志文件,并使用D3.js模块可视化输出,以实现静态和交互式可视化,特别是Parallel Coordinates