因现网环境运维提出了一些报错日志,因此需要在测试环境也监控起来,及早发现,及早避免问题的发生。
思路如下:
1、统计所有需要实时监控的日志地址
2、单条日志筛选出合适的关键字,如exception、error等
3、编写shell脚本,汇总每一台服务器上所有需要打印的日志目录,并通过jenkins启动脚本
4、将相关日志发送至指定服务器,并通过jenkins集成,将所有日志按照要求发送至相关人的邮箱
5、分析日志,有问题的提单跟踪,无问题的删除记录。
具体步骤:
一:统计各个日志所在的地址,就不多说了,各位服务器所在位置不一,因此自行记录即可。4、将相关日志发送至指定服务器,并通过jenkins集成,将所有日志按照要求发送至相关人的邮箱
二:单条日志筛选出合适的关键字,如exception、error等
一般来说,导出日志里的打印信息,可以用cat和tail,但是由于日志有可能被清空,因此我们选择实时打印的方式,因此采用tail的方式
tailf 文件名|grep "关键字"
因为只打印关键字那一行很可能会遗漏相关信息,因此我们需要把有关键字的字段的前后5行打印出来
tailf 文件名|grep -E -5 "关键字"
若需要通过多个关键字进行筛选(或关系),直接用管道符区分即可。
三、编写shell脚本,汇总每一台服务器上所有需要打印的日志目录,并通过jenkins启动脚本
脚本只写打印命令即可,多条命令直接用";"号分割即可,开始时由jenkins的定时器开启,结束由linux命令直接结束即可,如sp由每日下午4点开启,运行两小时
timeout XS,M,H,D bash 脚本名称 (其中X为自己需要固定的值,后缀”s”代表秒(默认值),”m”代表分,”h”代表小时,”d”代表天)
四、将相关日志发送至指定服务器,并通过jenkins集成,将所有日志按照要求发送至相关人的邮箱
同时将测试环境的服务器互相信任(互相信任操作详见《LR+Jenkins性能自动化(三):加入linux监控nmon》),之后可以通过crontab发送至jenkins所在目录,也可以通过jenkins发送,建议使用shell脚本(发送目录且定期删除源日志)
所有服务器的日志发送至jenkins目录后,压缩至同一个文件后通过jenkins的Email Notification模块发送邮件给相关责任人
五、分析日志,有问题的提单跟踪,无问题的删除记录。
这一步需要人自己进行查看,若有需要展示html报告,有更新时时再来补充,over