日志分析Linux下HTTP访问日志分析实践(linuxhttp访问)
Linux下的HTTP访问日志分析是一种功能强大的性能监控,性能分析和健壮性测试活动。通过对HTTP访问日志进行分析,可以根据HTTP请求状态码了解Web服务器的状况。
接下来,我们来看一段Shell脚本代码,用于实现日志分析:
#!/bin/bash
# Assume nothing is in following log files
# Clear the log files
cat /dev/null > access.log
cat /dev/null > error.log
# Analyse log file
# NOTE: “$1″ points to a log file
cat $1 | while read LOGLINE
do
#extract values from the log line
# Log format: n.n.n.n – – [01/Sep/2013:00:01:33 +0800]
IP=`echo $LOGLINE | cut -d” ” -f1`
TIME=`echo $LOGLINE | cut -d”[” -f2 | cut -d”]” -f1`
METHOD=`echo $LOGLINE | cut -d”\”” -f2 | cut -d” ” -f2`
URI=`echo $LOGLINE | cut -d”\”” -f2 | cut -d” ” -f3`
PROTOCOL=`echo $LOGLINE | cut -d”\”” -f2 | cut -d” ” -f4`
RESPONSE=`echo $LOGLINE | cut -d”\”” -f3 | cut -d” ” -f2`
SIZE=`echo $LOGLINE | cut -d”\”” -f3 | cut -d” ” -f3`
# I add following code to handle error
if [ $RESPONSE -ne 200 ]
then
echo $LOGLINE >> error.log
else
echo $LOGLINE >> access.log
fi
done
分析脚本通过读取HTTP访问日志,从中提取流量、请求方法、URI地址、状态码等信息,并根据状态码将日志数据分到两个文件,即access.log和error.log中。从access.log文件中,可以统计每一个IP访问资源的次数,查看访问频率最高的IP地址;从error.log文件中,可以统计错误的HTTP状态码,了解Web服务的可靠性。
总的来说,通过对HTTP访问日志的分析,可以更好地了解Web服务的性能,从而调整Web服务的参数和功能,以提升系统的稳定性和可靠性。