最近想做一个监控,定时的几分钟或者几小时去某台机器拉取对应目录的日志,根据关键字统计出现次数,超出阈值则发送钉钉消息到群里。

本来很简单的一个需求,但是这个按照时间段去匹配日志有点烦。网上一查都说用sed,awk,试了下,sed方式必须两个时间点都出现在日志中,但是我这定时生成的时间格式,可能在日志中没有。awk的时间匹配就太慢了。。。还是想通过grep去实现,想了下可以通过时间正则匹配。写一个工具返回大于从某个时间点到当前时间的正则表达式列表。

先看看结果


看起来还行,不知道有没有BUG,暂时我没发现。拿着这个列表,用grep -e来匹配时间

实现

按照时间格式格式化正则表达式

大于具体时间点的逻辑


代码可以在Github上找到,

本文来自chentiefeng的博客

东方茄子
13 声望1 粉丝