01_log监控脚本

1.需求:

定期监控log文件1s刷新一行,发现新生成数据中,有超出阈值信息,就记录,或者报警。

2.脚本设计:

1版,1s读取一次文件最后一行,校核信息。

2版,Ns读取一次文件,并记录当前读到的行数lastest,下次读取lastest+1到当前行。<解决了卡顿1次刷多行>

3版,Ns读取一次文件,并记录当前读到的行数lastest,下次读取lastest+1到(当前行-1)。<解决了读取时,恰巧输出半行>

3.配置文件设计:

1版,项目名=阈值。(log和读取文件的列数,项目名,在shell中写死)

2版,项目名=列数,阈值。文件名=a。(shell脚本中匹配项目名)

3版,line1:文件名1,项目,列数,阈值

         line2:文件名2,项目,列数,阈值<解决了:文件个数名称不定,check项目不定,列数不定的问题>

4.算法设计:

1)将文件名放入数组1中,并作防止重复的处理。

2)将配置文件放入数组2中,模拟[][4]的2维数组。

3)循环读取数组1中的文件行,针对数组2中,先匹配文件名,再做check处理。

4.关键知识点:

1)读取指定文件行内容:

awk -v line=${lastest+1} 'NR==line{print}' logFile

2)获取当前文件行数:

wc -l logFile | awk '{print $1}'

3)配置文件读入:

除去匹配空或者注释的行:"^[ \t]*$|^[ \t]*#"

eval ${echo $LINE | awk -F , '{printf("fileName='%s'; item='%s'; column='%s'; limit='%s'", $1, $2, $3, $4)}'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值