临近年中述职,需要各种量化参数,服务稳定性是上半年的重中之重,所以需要重点列出说服性指标,因此各种错误吗的统计信息便是重要信息,因为公司的日志采集系统因上云缘故,导致历史数据丢失没法查询,只能通过最原始的手段进行自己统计日志信息。正好可以学习一下linux的命令和shell脚本信息。
一,需求
采集nginx日志中 50X的错误记录信息
二,处理
1,将自己负责的项目日志分离出来
2、统计关键字中带有50X的错误日志
三,实现
如图中nginx日志信息,只要将500的日志数据提取出来即可。
# 错误示例,因为502 关键字选的不好,有些其他信息也会带有502
cat mydemo.log |awk '/502/ { print }' >mydemo502.log
# 分离出自己的服务的日志信息,我的日志url中带有/mydemo-n/
cat 2023.03* |awk '/mydemo-n/ { print }' >mydemo.log
#通过观察日志将http1.1关键字带进来,可以完美实现采集
cat mydemo.log |awk '/1.1" 500/ { print }' >mydemo500.log
cat mydemo.log |awk '/1.1" 502/ { print }' >mydemo502.log
cat mydemo.log |awk '/1.1" 504/ { print }' >mydemo504.log
#统计日志条数,代表请求报错的数量
wc -l mydemo500.log