假设apache日志格式为:
118.78.199.98 - - [09/Jan/2010:00:59:59 +0800] "GET /Public/Css/index.css HTTP/1.1" 304 - "http://www.a.cn/common/index.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6.3)"
问题1:在apachelog中找出访问次数最多的10个IP。
awk '{print $1}' apache_log |sort |uniq -c|sort -nr|head
awk 首先将每条日志中的IP抓出来,如日志格式被自定义过,可以 -F 定义分隔符和 print指定列;
sort进行初次排序,为的使相同的记录排列到一起;
upiq -c 合并重复的行,并记录重复次数。
head进行前十名筛选;
sort -nr按照数字进行倒叙排序。
我参考的命令是:
显示10条最常用的命令
sed -e "s/| /\n/g" ~/.bash_history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head
问题2:在apache日志中找出访问次数最多的几个分钟。
awk '{print $4}' apache.log |cut -c 14-18|sort|uniq -c|sort -nr|head
awk 用空格分出来的第四列是[09/Jan/2010:00:59:59;
cut -c 提取14到18个字符
剩下的内容和问题1类似。
问题3:在apache日志中找到访问最多的页面:
awk '{print $11}' apache_log |sed 's/^.*cn\(.*\)\"/\1/g'|sort |uniq -c|sort -rn|head
类似问题1和2,唯一特殊是用sed的替换功能将"http://www.a.cn/common/index.php"替换成括号内的内容:"http://www.a.cn(/common/index.php)"
问题4:在apache日志中找出访问次数最多(负载最重)的几个时间段(以分钟为单位),然后在看看这些时间哪几个IP访问的最多?
版本1
#!/bin/bash
# analysis apache access log
# histroy
# caoyameng version0.1 2010/01/24
if (test -z $1) ;then
read -p "Specify logfile:" LOG
else
LOG=$1
fi
if [ ! -e $LOG ];then
echo "I cann't find apache log file."
exit 0
fi
awk '{print $4}' $LOG |cut -c 14-18|sort|uniq -c|sort -nr|head >timelog
for i in `awk '{print $2}' timelog`
do
all=`grep $i timelog|awk '{print $1}'`
echo " $i $all"
IP=`grep $i $LOG| awk '{print $1}' |sort |uniq -c|sort -nr|head`
echo "$IP"
done
rm -f timelog
另一个版本的解决方法,其实就是换了下for的计算方式
#!/bin/bash
# analysis apache access log
# histroy
# caoyameng version0.2 2010/01/24
if (test -z $1) ;then
read -p "Specify logfile:" LOG
else
LOG=$1
fi
if [ ! -e $LOG ];then
echo "I cann't find apache log file."
exit 0
fi
awk '{print $4}' $LOG |cut -c 14-18|sort|uniq -c|sort -nr|head >timelog
for (( i=1; i<=10; i=i+1 ))
do
num=`sed -n "${i}p" timelog|awk '{print $1}'`
time=`sed -n "${i}p" timelog|awk '{print $2}'`
echo "####The No.$i "
echo " "
echo " $time $num"
echo " "
full=`grep $time $LOG| awk '{print $1}' |sort |uniq -c|sort -nr|head`
echo "$full"
echo " "
done
rm -f timelog
转载于linuxtone网站
分享到:
相关推荐
5. **案例分析**:通过实际案例演示如何在大型项目中高效地使用Log4j,解决实际问题。 #### 七、面向对象 本书适合具有一定Java编程基础的开发者阅读,特别是那些希望深入学习Log4j或已经在使用Log4j但希望进一步...
标题中的"ApacheLog4j_Win.zip"暗示这是一个针对Windows操作系统的Apache Log4j漏洞验证工具。这意味着该压缩包可能包含一系列用于检测和测试Log4j 2安全漏洞的工具和脚本,特别是针对JNDI(Java Naming and ...
根据提供的信息,我们可以深入探讨《Pro Apache Log4j 第二版》这本书的相关知识点。此书由Samudra Gupta编写,并于2005年出版,是关于Apache Log4j的一个专业指南。 ### 一、Apache Log4j简介 Apache Log4j是一个...
Apache Log4j是Java平台上的一个著名日志记录框架,广泛应用于各种Java应用程序中,包括服务器、Web应用、企业级软件等。Log4j 1.2.16是该框架的一个版本,提供了丰富的日志功能,允许开发者灵活地控制日志信息的...
Apache Log4j 是一个广泛使用的开源日志框架,它为Java应用程序提供了强大的日志记录功能。Log4j 的主要优点在于它的灵活性和可配置性,允许开发者根据需要调整日志的输出目的地、格式以及级别。 **配置Log4j** ...
Apache Log4j 是一个广泛使用的Java日志框架,它的核心功能是记录应用程序中的事件和错误信息,便于跟踪问题、分析性能以及调试。Log4j 提供了一种灵活、高效的日志记录机制,允许开发者定制日志输出的方式、位置和...
Apache Log4j 是一个广泛使用的Java日志框架,它的版本2.8.2是一个重要的更新,提供了许多功能改进和安全修复。这个压缩包文件“apache-log4j-2.8.2-bin.tar”包含了Log4j 2.8.2的二进制发行版,适用于那些希望快速...
总而言之,Apache Log4j 1.2.15的文档为开发者提供了全面的指导,帮助他们有效地使用和配置日志框架,以实现对应用程序运行状态的跟踪、诊断和分析。这个文档集合包含了Log4j的核心概念、API接口详解、配置示例以及...
Log4j还支持多种输出格式,包括控制台、文件、数据库等,使得日志信息可以被有效地收集和分析。在版本1.6.5中,Log4j已经相当成熟,修复了前一版本的一些问题,提高了稳定性和性能。 3. **jar.zip包下载**:"ant-...
总结来说,Apache Log4j 2.3 和 Commons Logging 1.2 在Java Web开发中扮演着重要角色,它们帮助开发者方便地记录、管理和分析应用程序的日志,提升开发效率和问题排查能力。这两个库的结合使用,能够实现日志系统的...
Apache Log4j 2.9.1 是一个广泛使用的Java日志框架,为开发者提供了灵活且功能丰富的日志记录解决方案。在Java开发中,日志是必不可少的工具,它可以帮助开发者跟踪程序运行状态,定位错误和异常,进行性能分析,...
Apache Log4j 是一个广泛使用的Java日志框架,它提供了灵活的日志记录功能,使得开发者可以在应用程序中方便地控制日志信息的输出。在给定的压缩包中,包含两个核心文件:`log4j-1.2.15.jar` 和 `apache-log4j-...
Apache Log4j 2.0 是一个广泛使用的Java日志框架,它提供了强大的日志记录功能,便于开发者在应用程序中追踪、记录和分析各种信息。这个压缩包"apache-log4j-2.0-alpha1-bin.tar"包含了Log4j 2.0的第一个alpha版本的...
对于现代分布式系统,Log4j 2提供了JSON布局和JSONPatternLayout,方便将日志数据结构化,便于分析和处理。这在日志收集工具如ELK Stack(Elasticsearch、Logstash、Kibana)中尤其有用。 **5. Layouts** 除了JSON...
apache的默认日志文件分析,用于IP统计访问量,查看某一时间段的ip连接数
Log4j的主要功能是提供了一种灵活的方式来记录应用程序运行过程中的事件和信息,这有助于开发者调试、监控和分析系统的运行状态。它提供了多种级别的日志记录,包括DEBUG、INFO、WARN、ERROR和FATAL,使得开发者可以...
它借鉴了Java界的Log4j设计理念,提供了灵活的日志配置,方便开发者对应用程序进行调试、性能分析以及错误追踪。 在“vs2015环境apache-log4cxx-0.10.0工程.zip”中,包含了适用于Visual Studio 2015的项目配置,...
Apache日志分析系统免费版V1.6是一款专为管理和解析Apache服务器日志设计的工具。这个系统能够帮助用户深入理解网站的访问情况,提供详细的数据统计和分析,包括但不限于访问量、用户行为、热门页面、来源IP、浏览器...
《Pro Apache Log4j Second Edition》是一本专为Apache Log4j框架的深入理解和实践而编写的权威指南。Log4j是Java世界中广泛使用的日志记录工具,它以其灵活性、可扩展性和性能赢得了开发者们的青睐。这本书的第二版...