快速查看日志的方法


摘要

本文主要是仿写自: 
原创:扣钉日记(微信公众号ID:codelogs)

感觉公众号作者的文章挺好的. 
周末在家看了一些,感觉很有收获的确能够解决自己遇到的一些问题
但是感觉早上六点多看完,到了中午就忘记的差不多了
所以我想总结一下. 希望能记住的更清晰.

工具

cat
tail
tac
grep
awk
sed
rev
head
zcat

范例-1

cat  主要是用来查看日志信息。
可以跟grep 进行关联
比如可以通过
cat log.txt |grep error -C 10
查看grep所在代码的 上下十行的数据
注意 -A 是after -B 是 before -C 是both A and B 

tac 的话是反着看.

获取时间范围内的信息

awk '/2023-06-18 14:27:19/,/2023-06-18 14:30:10/p' gscloud.log
可以显示着个时间段内的日志信息
sed -n  '/2023-06-18 14:27:19/,/2023-06-18 14:30:10/p' gscloud.log

注意可以转储到特定文件里面, 这样方便再次查看处理. 
如果日志文件很大, 请注意内存用量的情况 
一般情况下 sed 是流处理, 内存使用量较小,但是CPU占用会占用单核心. 

注意我这个文件大小为:
3.8G的文件, 第一次去三分钟左右的日志耗时 42秒
第二次有了缓存之后耗时 14秒左右.

sar查看性能信息

sar -u -s 12:40:01 -e 12:50:01
注意这个命令不识别中文,必须使用 冒号进行分割.

dateutils工具rpm

wget https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/d/dateutils-0.4.9-1.el8.x86_64.rpm

里面有x86的还有arm的. 
其实我这边更像将 时间戳转换为时间. 但是没有具体的方法