美文网首页Linux
Linux Trace机日志可视化查找工具

Linux Trace机日志可视化查找工具

作者: 刘小白DOER | 来源:发表于2021-03-31 23:09 被阅读0次

    笔者身边有个经常查询事件日志的Linux Trace机,鉴于查看日志的使用频率较高,笔者想着做个可视化终端来帮助定位查找,提高效率。在命令行中查找日志的过程是:1、当天(24小时内)的日志直接读取日志文件,使用专用工具读取;2、超过24小时的日志需要到相应的日期目录下,根据时间定位到压缩后的日志,解压缩.gz文件,解压缩后就是文本文件,可使用vi编辑器。

    可视化查找工具的目的就是要远程到Trace机,根据给定的日期和时间选择对应的日志,输出到可视化界面上,然后运维人员可以根据关键字定位到日志具体信息,或者更深一步,根据日志直接输出问题。

    平时的积累太重要了,这个方案笔者边写这篇文章边思考,基本没有遇到上面不可解决的大问问题,有些问题笔者以前的文章都测试过。想到做这个工具,笔者心有成竹,都有一套解决方案,可能花时间的还是一些小问题。

    笔者选择LabVIEW作为开发平台,PLINK作为远程连接工具。下面几个问题概括了笔者的一点思路,和大家分享一下。
1、 LabVIEW怎么SSH远程到Trace机

    这个问题笔者以前做过,可以参考文化中-LabVIEW通过PLINK远程到Linux系统,或者愿意花钱的话选择 ALAB SSH工具,参考文章-LabVIEW远程SSH到Linux系统。在这里就不在赘述了。

2、怎么将日志输出到 LabVIEW的字符串显示控件里面

    当天(24小时内)的日志直接使用专用工具读取输出到字符串中,压缩.gz文件怎么处理呢?笔者这里想了四个大同小异的方法:1、gunzip filename.gz,解压文件,然后cat filename,gunzip直接解压是不保留源文件的;2、gunzip –c filename.gz  ,可以解压缩并保留源文件,文件的内容直接输出,没有生成解压后文件,这样可以省去cat指令来查看文件;3、gunzip -cv filename.gz > filename ,可以保留源文件和压缩后文件,然后使用cat filename;4、zcat  filename.gz  不解压文件可以直接查看文件内容。笔者使用第四种方法。

    那么问题来了,.gz文件要是被人已经解压了,只有解压后的filename?那么可以使用或命令||,逻辑或,当用此连接符连接多个命令时,前面的命令执行成功,则后面的命令不会执行,前面的命令执行失败,后面的命令才会执行。请看笔者在kali linux中的测试。关于两个命令的逻辑关系的连接符,请参考文章-Linux 多个SHELL命令怎么顺序执行。

你能想到这么做也是一个不可多得的人才

    结合上面的两个部分,笔者来使用labview来测试一下。关于plink中文为啥乱码的问题待回头解决吧,不过Trace机里面也没有中文。命令||的第一条命令没有执行成功,错误信息也没有显示出来,很不错!

3、日志输出到字符串控件,怎么关键字检索

    使用搜索拆分字符串函数,然后将检索的字符串改变颜色高亮显示。笔者做了个简单的例子,但是针对有上万行的来说,这个检索例子需要优化,需要添加事件结构,通过按钮定位到关键字,然后NEXT按钮一步步检索到关键字。这个待笔者这几天把他做出来,先把思路放在这里。

    还有针对日志,需要分析日志结构,通过全日志的分析提炼出问题所在,比如没有哪个类型的报文等等,可以做得智能化一点,提供给运维人员简单实用的提醒信息。

    或者做的更加主动一点,定时分析新的日志,得到一些有用的信息。

    测试前面板:

    测试程序框图:

4、给定日期和时间,怎么定位到日志文件

    日期好说,根据给定的日期信息,按照日期格式进入到对应的目录。时间就没有那么方便了,日志是隔段时间生成一个文件,给定时间后,要根据日志文件的时间来精确定位到目的文件。

    进入到相应日期的目录,找到输出所有文件名,将给定的时间按照格式命令,找到这个时间范围的文件。笔者想到两个方法:1、labview远程到相应日期的目录,使用”ls -l“指令输出所有文件名,所有文件的时间字符串有了,给定的时间字符串有了,那么就是字符串操作的问题了;2、在 Trace上写个shell脚本,根据$1给定的时间参数,查找并输出对应的日志文件的名称,然后labview远程远程调用这个脚本得到文件名。

    这两种方法待笔者更新文章再补充,其实也不难,就是要花时间测试。

5、不仅仅做日志分析,可以添加维护功能

    比如笔者以前写的远程保存交换机配置文件,参考文章-关于交换机保存配置的一点思考,比如指令:PLINK -pw password username@192.168.31.82 -ssh -batch "di cu"> switch%date:~,4%%date:~5,2%%date:~8,2%.txt  就可以将华为交换机的配置文件保存到本地。

    还可以将使用PuTTY 提供的文件传输工具PSCP (PuTTY Secure Copy client)或者PSFTP工具来远程拷贝Linux程序的配置文件。PSCP和PLINK类似,在exe的目录下运行pscp可以查看其参数说明。

    测试结果如下,那么从Linux服务器拷贝配置文件就方便了。

    设计思路大概如此,笔者做出来的话,不赶工的话一个星期可以调试好。里面有些细节需要优化,笔者觉得labview抑或你使用的其他开发平台,和shell基本结合来完成可能会更加方便和高效。笔者觉得最大难点在于做一个优雅的界面,现在是看脸的时代,要长得好看,还有就是日志分析上面,日志生成过程需要慢慢理清才能根据日志得到准确的解读。

相关文章

  • 基于LabVIEW的可视化日志检索工具

    根据文章-Linux Trace机日志可视化查找工具的构想后,笔者完成了根据时间点定位日志文件的shell脚本...

  • SHELL脚本根据时间点查找日志文件

    接着上一篇文章-Linux Trace机日志可视化查找工具,笔者今天想着利用脚本来实现给定日期和时间定位到日志文件...

  • Linux Trace机日志可视化查找工具

    笔者身边有个经常查询事件日志的Linux Trace机,鉴于查看日志的使用频率较高,笔者想着做个可视化终端来帮...

  • 用adb命令从手机中提取anr log

    通常发生ANR时,首先去查找对应Trace(重要进程的各个线程调用栈trace信息)日志(文件的名字是traces...

  • linux日常管理(八)——screen、日志

    10.34 linux系统日志10.35 screen工具 系统日志 linux一切皆文本,除了配置文件,日志也是...

  • mac: text search and replace

    一直以来,对linux“抽象”的命令行有畏惧心理。故,文本的查找/替换还是愿意用可视化的工具。 今天以前,我“标准...

  • linux日志查找

    先必须了解两个最基本的命令:tail -n 10 test.log 查询日志尾部最后10行的日志;tai...

  • linux查找日志

    1、查找包含某字符串的行 2、统计包含某字符串的行数 3、从文件末尾开始查找包含某字符串的行限制100行 4、按文...

  • 微信小程序性能测试之Trace工具

    一、Trace工具介绍 微信小程序开发工具中提供了trace工具,利用trace工具可时时监控小程序的性能。分析t...

  • 实用的Linux命令

    1.Liunx下常用的解压和压缩命令 2.使用grep查找日志指定内容 日志比较多,想在linux系统上直接查找相...

网友评论

    本文标题:Linux Trace机日志可视化查找工具

    本文链接:https://www.haomeiwen.com/subject/lwpahltx.html