1. 概述
分布式异构软件Software系统
![](/icons/25897de.gif)
测试人员常常要分析大量
![](/icons/25897de.gif)
日志
![](/icons/25897dou.gif)
例如安装日志
![](/icons/25897dou.gif)
数据库日志等等
![](/icons/25897dou.gif)
这些日志分布在区别位置
![](/icons/25897de.gif)
区别操作系统
![](/icons/25897de.gif)
主机上
![](/icons/25897dou.gif)
测试人员为了分析这些日志需要奔波于实验室各台机器的间
![](/icons/25897dou.gif)
既便是有远程操作
![](/icons/25897dou.gif)
测试人员也必须掌握多种操作系统
![](/icons/25897dou.gif)
并登录到多台机器进行分析
![](/icons/25897dou.gif)
而且很多日志文件
![](/icons/25897dou.gif)
内容冗长
![](/icons/25897dou.gif)
使得测试工作显得繁复、乏味. 对于测试人员来说
![](/icons/25897dou.gif)
查看这些日志文件并进行分析将是
![](/icons/25897yi.gif)
个巨大
![](/icons/25897de.gif)
挑战
![](/icons/25897dou2.gif)
为了实现测试人员快速高效简便
![](/icons/25897de.gif)
进行日志分析工作
![](/icons/25897dou.gif)
我们开发实现了
![](/icons/25897yi.gif)
个小巧易用
![](/icons/25897de.gif)
日志分析工具--LogMinner
![](/icons/25897dou2.gif)
使用LogMinner
![](/icons/25897dou.gif)
只需编辑xml格式
![](/icons/25897de.gif)
配置文件
![](/icons/25897dou.gif)
在配置文件中指定需要分析
![](/icons/25897de.gif)
日志所在
![](/icons/25897de.gif)
机器名、路径、文件名
![](/icons/25897de.gif)
模式以及关键字
![](/icons/25897de.gif)
模式和属性
![](/icons/25897dou.gif)
LogMinner即会到指定机器搜索指定目录及其子目录中符合指定文件名模式
![](/icons/25897de.gif)
![](/icons/25897de.gif)
文件
![](/icons/25897dou.gif)
进行日志扫描,搜索符合关键字模式
![](/icons/25897de.gif)
关键字
![](/icons/25897dou.gif)
并将分析结果信息输出到指定或默认
![](/icons/25897de.gif)
html文件中
![](/icons/25897dou2.gif)
LogMinner工具包括了基于EMF
![](/icons/25897de.gif)
配置文件编辑器(Config File Editor)、基于java和STAF
![](/icons/25897de.gif)
LogMinner控制台(LogMinner Console)和基于STAF
![](/icons/25897de.gif)
LogMinner Service 3个组件
![](/icons/25897dou2.gif)
本文将对LogMinner
![](/icons/25897de.gif)
体系结构、设计实现和配置使用进行介绍
![](/icons/25897dou.gif)
并提出进
![](/icons/25897yi.gif)
步
![](/icons/25897de.gif)
开发展望
![](/icons/25897dou2.gif)
2. LogMinner
2.1LogMinner
![](/icons/25897de.gif)
体系结构
LogMinner是基于STAF(Software Testing Automation Framework)
![](/icons/25897de.gif)
分布式P2P系统.系统中
![](/icons/25897de.gif)
所有主机都是STAF Client
![](/icons/25897dou2.gif)
其中LogMinner Servvice是定制
![](/icons/25897de.gif)
Java STAF Service
![](/icons/25897dou2.gif)
而LogMinner Console是运行在STAF环境下
![](/icons/25897de.gif)
Java应用
![](/icons/25897chengxu.gif)
, LogMinner Console和LogMinner Servvice的间
![](/icons/25897de.gif)
通讯是通过STAF实现
![](/icons/25897de.gif)
request/response 模式
![](/icons/25897de.gif)
同步通讯
![](/icons/25897dou2.gif)
LogMinner Console根据XML格式
![](/icons/25897de.gif)
配置文件向指定
![](/icons/25897de.gif)
![](/icons/25897yi.gif)
组部署了LogMinner Service
![](/icons/25897de.gif)
主机提出日志分析请求,LogMinner Service响应请求并将分析结果返回给LogMinner Console
![](/icons/25897dou2.gif)
系统
![](/icons/25897de.gif)
部署如下图所示.
图2.1 LogMinner
![](/icons/25897de.gif)
部署图
![](http://www.crazycoder.cn/WebFiles/20091/4763bbbf-ce33-4e07-8498-45c0db4c9338.g<img src='/icons/25897if.gif' />)
注:如果不指定结果文件
![](/icons/25897de.gif)
目录和文件名
![](/icons/25897dou.gif)
默认
![](/icons/25897de.gif)
目录为c:logminnerresults,默认
![](/icons/25897de.gif)
结果文件名为result_<time>.htm(其中time是
![](/icons/25897System.gif)
.currentTimeMillis
![](/icons/25897kh.gif)
)
![](/icons/25897dou.gif)
使用默认结构文件路径时如果c:logminnerresults不存在系统会自动建立该路径
![](/icons/25897dou2.gif)
如果原文件已经存在
![](/icons/25897dou.gif)
结果内容会在原文件后添加
![](/icons/25897dou.gif)
不会清空原有内容
![](/icons/25897dou2.gif)
5. 进
![](/icons/25897yi.gif)
步
![](/icons/25897de.gif)
工作和展望
目前
![](/icons/25897dou.gif)
LogMinner已经实现了日志搜索
![](/icons/25897de.gif)
功能,我们的所以为这个日志分析工具起名为LogMinner是希望实现它能最终实现日志数据挖掘
![](/icons/25897dou.gif)
从而为测试人员分析日志提供知识支持
![](/icons/25897dou2.gif)
![](/icons/25897yinwei.gif)
测试人员在日志分析
![](/icons/25897de.gif)
过程中会积累和整理总结出很多所测试软件Software在安装、运行中出现
![](/icons/25897de.gif)
异常信息和异常发生原因
![](/icons/25897de.gif)
映射关系
![](/icons/25897de.gif)
经验和规则,根据日志搜索出
![](/icons/25897de.gif)
异常信息和测试人员分析出
![](/icons/25897de.gif)
异常
![](/icons/25897cuowu.gif)
![](/icons/25897de.gif)
原因,通过统计其相关联
![](/icons/25897de.gif)
支持度和置信度等数据挖掘分析,就能得到异常信息和异常发生原因
![](/icons/25897de.gif)
关联规则
![](/icons/25897dou2.gif)
根据挖掘出
![](/icons/25897de.gif)
关联规则和开发人员提供
![](/icons/25897de.gif)
![](/icons/25897cuowu.gif)
信息
![](/icons/25897de.gif)
reference搭建日志分析
![](/icons/25897de.gif)
知识库,就可以为日志分析
![](/icons/25897de.gif)
自动化提供良好
![](/icons/25897de.gif)
决策支持
![](/icons/25897dou2.gif)
因此LogMinner可以向着数据挖掘
![](/icons/25897de.gif)
方向进
![](/icons/25897yi.gif)
步发展完善