Apache IoTDB开发之日志可视化工具

举报
小云悠悠zZ 发表于 2023/08/31 22:06:24 2023/08/31
【摘要】 由于日志作为监控系统状态的来源如此宝贵,挖掘日志以获取其潜在的宝贵信息已成为学术界和工业界的一个热门问题。传统方法通常需要大量的人力资源,通过仔细阅读和分析日志来发现日志背后的价值。

工具简介

与其他软件系统一样,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.shlog-visualizer-gui.bat

日志可视化工具 - 图1

选择日志文件

首先,应选择要可视化的包含日志的文件(或包含此类文件的目录)。请注意,我们目前仅支持单行日志,多行日志将被忽略。

日志可视化工具 - 图2

选择解析器属性文件

其次,还应选择一个描述如何解析日志文件的文件。对于 IoTDB 生成的日志文件,我们在 中提供了一个示例。如果您的日志具有与 IoTDB 类似的结构,您可以直接使用它,否则,您应该仔细阅读该文件并为您的日志修改它。server/src/assembly/resources/tools/logVisualize/default.log.pattern

日志可视化工具 - 图3

加载日志

然后,单击该按钮让 LogVisualizer 准备读取日志。如果准备成功,上面的标签将显示 ,否则,一个对话框将显示出错的地方,您应该相应地修复它。Load logsLogs are successfully loaded

日志可视化工具 - 图4

装载计划

接下来,您可以加载现有可视化计划或创建新的可视化计划。要加载现有计划,只需单击按钮并选择包含日志文件的日志文件或目录。请注意,如果选择一个目录,则该目录必须仅包含可视化计划。Load plans

日志可视化工具 - 图5

创建新计划

现在,我们将提供一个如何创建新计划的示例。首先,单击按钮并选择一个位置来保存新计划,然后该计划将显示在左侧的列表中。文件的名称将用作计划的名称,并且必须与任何现有计划不同。Create plan

日志可视化工具 - 图6

编辑计划

创建新计划后,您可以在右侧面板中对其进行编辑。我们在 中提供了一个示例,我们强烈建议您仔细阅读它以了解如何填写字段。您还可以在此处编辑已加载的计划。如果要保存已修改的内容,请不要忘记单击该按钮。如果要创建一个计划来显示按类型分组的作业的时间消耗,则可以设置如下字段。server/src/assembly/resources/tools/logVisualize/plans/flushTimeConsumption.plan.exampleSave plan

日志可视化工具 - 图7

删除计划

如果您不再需要计划,可以选择它并单击按钮。这将从磁盘中删除计划。Delete plan

执行计划

最后,您可以通过选择计划并单击 来执行计划。请确保您已加载日志。之后,两个选项卡将添加到主面板中。第一个包含时间序列图表,每个图表对应于日志组并绘制计划指定的度量值。第二个显示每个日志组的每个测量的统计信息。浏览完成后,您可以单击右上角的按钮关闭选项卡。Execute plan

日志可视化工具 - 图8 日志可视化工具 - 图9 日志可视化工具 - 图10

用法(命令行)

还提供了一个 LogVisualizer 的命令行工具。此工具恰好采用 4 个参数,分别是:。运行此工具将加载给定的日志,运行所有计划并将每个计划的结果保存到输出路径的子目录中。例如:log-visualizer-cmd.shlog-visualizer-cmd.batthe path of the log filethe path of the parser property filethe path of the visualization plan(s)the output directory

./log-visualizer-cmd.sh all.log default.log.pattern planB.plan 结果

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。