注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

用Shell脚本实时抓取LOG中的ERROR信息并提供报警  

来自零零祝泡泡   2013-02-27 11:52:27|  分类: 默认分类 |举报 |字号 订阅

  下载LOFTER 我的照片书  |

为了确保一个稳定、安全、高效的测试环境,我们需要面临以下几个问题:

1.       如何做到实时监控log文件中的异常状态

2.       如何对众多的日志信息进行集中分析和管理

3.       海量日志的有效提取、分析

现在的处境:人工手动的提取信息,并且人工进行排查,日志信息过多,懒得去看,各种问题,这样我们缺少一个集中、统一、高效的日志管理系统。

我和王丽蓉童鞋在坤哥的号召下,共同完成了日志管理系统,此系统的主要功能是从不同产品的测试机服务器上实时读取log信息,提取log文件中ERROR信息和Exception信息,并将提取的这些信息通过popo报警的方式发送给相关人员。

   设计的思路是这样的:每N分钟读取一次log文件,并记录当前的行数L,取出N分钟内产生的log文件并提取ERROR信息到另一个文件中(error.txt),下个N分钟将从(L+1)行log中往下读取,依次循环。每天的下午三点,若error.txt中内容不为空,则提供popo报警给相关人员。(pspopo报警的功能和提示内容已经跟童罕交流过,但是他近期较忙,所以还没有帮忙配置好)

脚本的使用方法如下:

第一次执行grablog.sh,此脚本只需要执行一次即可,有5个参数:filepathfilenameoutpathlinegrabtype

执行格式如:/home/space/test/hzzhudan/grablog.sh /home/space/logs/study/edu edu.log /home/space/test 100 ERROR

然后重复执行grablog-rep.sh,此脚本只有四个参数:filepathfilenameoutpathgrabtype

crontab -e 设置,如每十分钟运行一次,格式如下:

*/10 * * * * /home/space/test/hzzhudan/grablog-rep.sh /home/space/logs/study/edu edu.log /home/space/test ERROR

另外需要运行rename.sh 重命名抓取到的日志信息,需crontab -e 设置,如每天的23:59重命名文件,格式如下:

59 23 * * * /home/space/test/hzzhudan/rename.sh

抓取到的log都在grablog文件夹下,历史抓取到的error文件会加上日期,当天的则为error.txt

用Shell脚本实时抓取LOG中的ERROR信息并提供报警 - 零零祝泡泡 - zhudan19891125的博客

error文件中抓取到的log如下,取出ERROR信息以及其后的at

用Shell脚本实时抓取LOG中的ERROR信息并提供报警 - 零零祝泡泡 - zhudan19891125的博客

热烈欢迎大家提出更好的意见和建议,如果有需要此脚本包的童鞋,可以单独popo我。

  评论这张
 
阅读(1504)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016