Apache IoTDB开发之日志可视化工具
工具简介
与其他软件系统一样,IoTDB在运行时生成各种日志。调试和跟踪日志可以帮助开发人员跟踪IoTDB的状态,并挖掘出潜在或不清楚的错误 信息日志可以告诉系统的健康程度,并指出数据库参数优化的方向。警告和错误日志指示系统处于危险状态或发生意外情况(很可能是错误或攻击),并帮助数据库管理员在系统崩溃之前保存系统或查找崩溃的原因。
由于日志作为监控系统状态的来源如此宝贵,挖掘日志以获取其潜在的宝贵信息已成为学术界和工业界的一个热门问题。传统方法通常需要大量的人力资源,通过仔细阅读和分析日志来发现日志背后的价值。通常,不同源(如Java类)的日志混合在几个文件中,只有最有经验的调试专家从一开始就知道他们到底渴望什么日志,许多经验不足的程序员会花时间读取不相关的日志并过滤掉它们。然而,日志主要由包含描述系统状态的数字的字符串组成,与绘图和统计数据相比,它们对于人类来说远不如直接理解和比较。
为了减少理解这些日志背后发生的事情并更好地比较它们的难度,我们提供了一个简单的工具 LogVisualizer 来检索日志文件中有趣的(由用户指定)变量,根据这些观察结果生成时间序列并绘制绘图以更人性化的方式显示它们。LogVisualizer 还收集日志的统计信息,以呈现正在发生的事情的整体视图。
制备
在使用 LogVisualizer 之前,您应该构建它。由于 LogVisualizer 作为工具集成在服务器模块中,因此您可以使用以下方法与 LogVisualizer 一起构建服务器:
mvn clean package -pl server -dskipTests
然后,可以找到启动 LogVisualizer 的脚本:server/target/iotdb-server-{project-version}/tools/logVisualize
要访问此工具的高级用法,必须具备一些有关正则表达式的基本知识,尤其是 Java 样式表达式。了解正则表达式可以创建自己的可视化计划或修改现有计划。但是,如果完全不熟悉正则表达式,仍然可以使用仅适用于 IoTDB 的预设计划。
用法(图形用户界面)
运行 GUI
您可以使用(或在窗口中)运行 LogVisualizer。这将为您带来一个 gui,例如:log-visualizer-gui.sh
log-visualizer-gui.bat
选择日志文件
首先,应选择要可视化的包含日志的文件(或包含此类文件的目录)。请注意,我们目前仅支持单行日志,多行日志将被忽略。
选择解析器属性文件
其次,还应选择一个描述如何解析日志文件的文件。对于 IoTDB 生成的日志文件,我们在 中提供了一个示例。如果您的日志具有与 IoTDB 类似的结构,您可以直接使用它,否则,您应该仔细阅读该文件并为您的日志修改它。server/src/assembly/resources/tools/logVisualize/default.log.pattern
加载日志
然后,单击该按钮让 LogVisualizer 准备读取日志。如果准备成功,上面的标签将显示 ,否则,一个对话框将显示出错的地方,您应该相应地修复它。Load logs
Logs are successfully loaded
装载计划
接下来,您可以加载现有可视化计划或创建新的可视化计划。要加载现有计划,只需单击按钮并选择包含日志文件的日志文件或目录。请注意,如果选择一个目录,则该目录必须仅包含可视化计划。Load plans
创建新计划
现在,我们将提供一个如何创建新计划的示例。首先,单击按钮并选择一个位置来保存新计划,然后该计划将显示在左侧的列表中。文件的名称将用作计划的名称,并且必须与任何现有计划不同。Create plan
编辑计划
创建新计划后,您可以在右侧面板中对其进行编辑。我们在 中提供了一个示例,我们强烈建议您仔细阅读它以了解如何填写字段。您还可以在此处编辑已加载的计划。如果要保存已修改的内容,请不要忘记单击该按钮。如果要创建一个计划来显示按类型分组的作业的时间消耗,则可以设置如下字段。server/src/assembly/resources/tools/logVisualize/plans/flushTimeConsumption.plan.example
Save plan
删除计划
如果您不再需要计划,可以选择它并单击按钮。这将从磁盘中删除计划。Delete plan
执行计划
最后,您可以通过选择计划并单击 来执行计划。请确保您已加载日志。之后,两个选项卡将添加到主面板中。第一个包含时间序列图表,每个图表对应于日志组并绘制计划指定的度量值。第二个显示每个日志组的每个测量的统计信息。浏览完成后,您可以单击右上角的按钮关闭选项卡。Execute plan
用法(命令行)
还提供了一个 LogVisualizer 的命令行工具。此工具恰好采用 4 个参数,分别是:。运行此工具将加载给定的日志,运行所有计划并将每个计划的结果保存到输出路径的子目录中。例如:log-visualizer-cmd.sh
log-visualizer-cmd.bat
the path of the log file
the path of the parser property file
the path of the visualization plan(s)
the output directory
./log-visualizer-cmd.sh all.log default.log.pattern planB.plan 结果
- 点赞
- 收藏
- 关注作者
评论(0)