`
suifeng
  • 浏览: 176221 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

UltraEdit+RegExp+Bat+Excel 从海量日志中提取信息

阅读更多

前言

使用常用工具,从800M的日志中提取13K的信息是个挑战.  

最近被系统性能问题折磨的不行了. 没隔多久客户就说系统响应太慢了(汗).据分析大概是数据库连接的问题.

后台有一堆的日志信息, 每天的日志量为100多M, 日志里面有输出连接的信息,格式为:开始释放连接\r\n, XXX有N个连接被释放\r\n.

需求

把后台的这些数据库连接数,做成一个报表,形成数据库连接数变化的趋势图.

 

工具

 UltraEdit, 正则表达式

用法

UltraEdit-->资源管理器-->右键-->在该目录下的文件中查找替换

原理

用正则表达式进行查找替换

步骤

 

  1. 标识出数据行 (查找替换时在其前面加#字符)----正则表达式不能表达字符串否定的逻辑关系, 只好用此变通办法
  2. 去掉非#开头的行
  3. 提取日期时间和连接数信息---用括号()分组的方法, .+(日期 时间).+连接数, 替换成: \1\t\2
  4. 将多个日志文件拼接在一起---编写bat文件 内容{@for %%f in (server.log.*) do type %%f >>xxx.log}
  5. 将拼接后的数据copy到excel---excel支持\t分割的数据
  6. 用excel生成折线图---趋势图完成

改进

使用Ultra Edit自带的JavaScript脚本功能限制 查找替换的批处理, 参见 Ultra Edit 14.10帮助文档-->入门-->脚本命令.  

后记

多工具联合使用, 充分发挥每种工具的长处
工具只有在使用中才能体现它的价值. 

 

2
0
分享到:
评论
2 楼 suifeng 2009-05-12  
zhouzhao21 写道

使用 cygwin 吧。享受管道的乐趣。

管道很好, 可以连续处理数据, 有空研究一下
1 楼 zhouzhao21 2009-05-10  
使用 cygwin 吧。享受管道的乐趣。

相关推荐

Global site tag (gtag.js) - Google Analytics