源log
1 | ...... |
需求:筛选某个时间段内的ERROR错误日志
思路:
- 首先筛选文件中所有的ERROR、S_ERR和S_WARN, 3个关键字的日志
- 由于源log中的时间字段带有中括号,使用sed把它替换为空
- 然后再次以$3的时间来筛选当天的错误log
- 最后,使用awk定义$4的时间范围进行日志筛选。
awk提取时间段日志格式:
1 | cat logs/server.2021-04-06.log |awk '$1=="ERROR" || $1=="S_ERR" || $1=="S_WARN"'|sed 's/\(\[\|\]\)//g'|awk '$3="2021-04-06"'|awk '$4>="08:32:13,000" && $4<="10:30:00,000"' |
接下来就可以愉快的写个脚本了,比如筛选出来后输出到一个文件中,当此文件有数据的时候,就触发邮件告警,告警的正文是错误条目~~~
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2021/04/06/使用awk筛选时间段的日志/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!