命令行下Apache日志统计举例

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://chenguang.blog.51cto.com/350944/1414820

Apache日志统计举例

wKioL1N8bj3jkyGXAANQAg30gAg046.jpg

加些来了解一下如何统计Apache的访问日志,一般可以用tail命令来实时查看日志文件变化,但是各种的应用系统中的日志会非常复杂,一堆长度超过你浏览极限的日志出现在你眼前时,你会觉得非常无奈,怎么办呢?这时可以用grep、sed、awk和sort等筛选工具帮助你解决这个问题。下面总结了几个常见分析方法。

(1)查看IP($1代表IP)

#cataccess_log | awk '{print $1}'

(2)对IP排序

#cataccess_log | awk '{print $1}'|sort

(3)打印每一重复行出现的次数,“uniq -c”表示标记出重复数量。

#cataccess_log | awk '{print $1}'|sort|uniq -c

(4)排序并统计行数

#cataccess_log | awk '{print $1}'|sort|uniq -c|sort -rn|wc -l

(5)显示访问前10位的IP地址便于查找攻击源

#cat access_log|awk '{print $1}'|sort|uniq-c|sort -nr|head -10

注意awk '{print$1',它表示取日志的第一段,如果换成别的日志,其IP地址在第3段那么就要改变相应数值。

(6)显示指定时间以后的日志($4代表时间)

#cat access_log |awk'$4>="[23/Jul/2012:01:00:01"' access_log

推荐大家在排错时,同时打开多个终端,比如在一个窗口中显示错误日志,在另一个窗口中显示访问日志,这样就能够随时获知网站上发生的情况。

(7)找出访问量最大的IP,并封掉(对排错很有帮助)

#cat access_log |awk '{print $1}'|sort|uniq -c|sort -nr |more

9999192.168.150.179

      11 192.168.150.1

#iptables -I INPUT -s 192.168.150.179 -j DROP

#iptables -I INPUT -s 192.168.150.0/24 -j DROP

如果将上面的Shell做以下变形就可以得出访问量TOP 10

#cat access_log |awk '{print $1}'|sort|uniq -c|sort -nr |head -10

(8)找出Apache日志中,下载最多的几个exe文件(下载类网站常用,这里以.exe扩展名举例)

[root@localhost httpd]# cataccess_log |awk '($7 ~/.exe/){print $10 "" $1 ""$4""$7}' |sort -n |uniq -c |sort -nr |head -10

    2 - 192.168.150.1[25/Jul/2012:05:46:05/test.exe

1 -192.168.150.152[25/Jul/2012:05:46:47/test.exe

 

使用如下命令:

#cat access_log |awk `($10 >10000000&& $7 ~/.exe/) {print $7}` |sort –n|uniq –c|sort –nr|head -10

这条命令经过增加一个>10000000的条件判断内容就可以显示出大于10MB的exe文件,并统计对应文件发生次数,这条命令对于网站日常分析是非常有帮助的,大家可以灵活使用。

wKiom1N8bd3QftuuAAIJKoLkZBM371.jpg

 

 (12)用goaccess工具分析

GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速、多样的HTTP状态统计,如果你觉得以上管道、脚本麻烦的话,请用这个工具试试吧。

Debian Linux安装:

#ape-get install goaccess

#goaccess -f /var/log/apache2/access.log

运行效果如下:

wKiom1Sn2lrQvEP0AATCFu_vnjE913.jpg

 轻按下箭头,我们看看goaccess给我们呈现更多的统计数据吧,细心的读者发现BW N /A 带宽怎么没统计出来?下面我们在加一个 -b 参数试试吧,如下图所示。

wKioL1Sn2-GSvg8eAAR-bOsrXzk253.jpg

注意:以上工具和技巧同样适用于Nginx、Squid的访问日志。

Apache日志分析实战案例:


1.Apache Segmentaion Fault故障处理案例分析 http://chenguang.blog.51cto.com/350944/1384907

 

本文出自 “李晨光原创技术博客” 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/1414820

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
45 1
|
1月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
40 3
|
1月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
40 3
|
3月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
3月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
3月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
46 6
|
3月前
|
消息中间件 Java Kafka
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
|
6月前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
27天前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
564 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
61 3

推荐镜像

更多