当前位置: 首页 > news >正文

python 统计分析apache日志_Apache 日志分析(一)

日志格式:

101.38.166.177 – –

[10/Jun/2016:14:19:19 +0800] “POST /wp-admin/admin-ajax.php HTTP/1.1”

200 112 “http://www.ko178.cn/wp-admin/post.php?post=20&action=edit”

“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like

Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/7.1.0.12633”

访问次数最多的10个IP:

awk ‘{print $1}’ access_ko178.log |sort |uniq -c|sort -nr|head -n 10

cat access_ko178.log  |cut -d ‘ ‘ -f 1 |sort |uniq -c | sort -nr | awk ‘{print $0 }’ | head -n 10

awk 首先将每条日志中的IP抓出来,如日志格式被自定义过,可以 -F 定义分隔符和 print指定列;

sort进行初次排序,为的使相同的记录排列到一起;

upiq -c 合并重复的行,并记录重复次数。

head进行前十名筛选;

sort -nr按照数字进行倒叙排序。

参考命令:

1.显示10条最常用的命令

sed -e “s#| /#n#g” ~/.bash_history | cut -d ‘ ‘ -f 1 | sort | uniq -c | sort -nr | head

2.访问次数最多的几个分钟:

awk ‘{print $4}’ access_ko178.log |cut -c 14-18|sort|uniq -c|sort -nr|head

awk 用空格分出来的第四列是[10/Jun/2016:00:59:59;

cut -c 提取14到18个字符

剩下的内容和问题1类似。

3.访问最多的页面:

awk ‘{print $11}’ access_ko178.log |sed ‘s#^.*cn/(.*/)/”#/1#g’|sort |uniq -c|sort -rn|head

类似问题1和2,唯一特殊是用sed的替换功能将”http://www.ko178.cn/index.php”替换成括号内的内

容:”http://www.ko178.cn(/index.php)”

访问次数最多(负载最重)的几个时间段(以分钟为单位),然后在看看这些时间哪几个IP访问的最多?

4.查看apache/nginx进程:

ps aux | grep httpd | grep -v grep | wc -l

ps aux | grep nginx | grep -v grep | wc -l

5.查看80端口的tcp连接:

netstat -tan | grep “ESTABLISHED” | grep “:80” | wc -l

6.通过日志查看当天ip连接数,过滤重复:

cat access_ko178.log|grep “10/Jun/2016” |awk ‘{print $2}’ |sort|uniq -c |sort -nr

7.当天ip连接数最高的ip都在干些什么(原来是蜘蛛):

cat access_ko178.log | grep “10/Jun/2016:00” | grep “176.31.129.248” | awk ‘{print $8}’ | sort | uniq -c | sort -nr | head -n 10

8.当天访问页面排前10的url:

cat access_ko178.log | grep “10/Jun/2016:00” | awk ‘{print $11}’ | sort | uniq -c | sort -nr | head -n 10

9.用tcpdump嗅探80端口的访问看看谁最高:

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr

10.查看该ip在干嘛:

cat access_ko178.log | grep 121.42.0.38| awk ‘{print $1″/t”$8}’ | sort | uniq -c | sort -nr | less

11.查看某一时间段的ip连接数:

grep “2016:0[7-8]” access_ko178.log | awk ‘{print $2}’ | sort | uniq -c| sort -nr | wc -l

12.当前WEB服务器中联接次数最多的20条ip地址:

netstat -ntu |awk ‘{print $5}’ |sort | uniq -c| sort -nr | head -n 20

13.查看日志中访问次数最多的前10个IP:

cat access_ko178.log |cut -d ‘ ‘ -f 1 |sort |uniq -c | sort -nr | awk ‘{print $0 }’ | head -n 10 |less

14.查看日志中出现100次以上的IP:

cat access_ko178.log  |cut -d ‘ ‘ -f 1 |sort |uniq -c | awk ‘{if ($1 > 100) print $0}’|sort -nr |less

15.查看最近访问量最高的文件:

cat access_ko178.log |tail -10000|awk ‘{print $7}’|sort|uniq -c|sort -nr|less

cat access_ko178.log|awk ‘{print $7}’|uniq -c |sort -n -r|head -20

16.查看日志中访问超过100次的页面:

cat access_ko178.log | cut -d ‘ ‘ -f 7 | sort |uniq -c | awk ‘{if ($1 > 100) print $0}’ | less

17.列出传输时间超过 30 秒的文件:

cat access_ko178.log|awk ‘($NF > 30){print $7}’|sort -n|uniq -c|sort -nr|head -20

18.最最耗时的页面(超过60秒的)的以及对应页面发生次数:

cat access_ko178.log |awk  ‘($NF > 60 && $7~/\.php/){print $7}’ |sort -n|uniq -c|sort -nr|head -100

19.列出传输时间超过 30 秒的文件

cat access_ko178.log|awk ‘($NF > 30){print $7}’ |sort -n|uniq -c|sort -nr|head -20

20.从日志里查看该ip在干嘛

cat access_ko178.log | grep 176.31.129.248| awk ‘{print $1″\t”$7}’ | sort | uniq -c | sort -nr | less

21.统计某url,一天的访问次数

cat access_ko178.log|grep ’10/Jun/2016’|grep ‘index.php’|wc|awk ‘{print $1}’

相关文章:

  • mysql中groupby会用到索引吗_MySQL优化GROUP BY方案
  • php5.6的apaches的dll_win7(64位)php5.6-Apache2.4-mysql5.6环境安装
  • freemarker反向取数_freemarker 取值(插值)(转)
  • miui 谷歌框架_谷歌和高通正式联手,加强安卓系统掌控,华为:鸿蒙正全面超越...
  • python 随机打乱列表_python打乱列表
  • 图片画圈画箭头用什么软件_什么软件可以在编辑图片中画圈圈,如裁图时需要特..._网络编辑_帮考网...
  • 0 win10重装partition_gpt分区无法安装win10的根本原因
  • python csv库下载_Python标准库--csv模块
  • kafka身份认证 maxwell_python – kafka身份验证和授权
  • python类的封装是什么意思_Python中什么是面向对象-封装
  • 瑞银监控机器人组装法_“机器人革命”来了!瑞银计划年内再扩充400台自动化机器人...
  • laravel 控制器中使用中间件_热式气体质量流量控制器在流量监测和气压测试中的使用情况...
  • linux vim 添加注释_【Linux】Vim编辑器-批量注释与反注释
  • arduino判断是否连接串口_Arduino-串口函数Serial
  • 大数据管家abm 计算机任务监控_大数据岗位要求之大数据运维
  • 分享一款快速APP功能测试工具
  • Fastjson的基本使用方法大全
  • gops —— Go 程序诊断分析工具
  • HTTP那些事
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • MySQL用户中的%到底包不包括localhost?
  • MySQL主从复制读写分离及奇怪的问题
  • Web设计流程优化:网页效果图设计新思路
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 关于springcloud Gateway中的限流
  • 简析gRPC client 连接管理
  • 小李飞刀:SQL题目刷起来!
  • 新手搭建网站的主要流程
  • 回归生活:清理微信公众号
  • 移动端高清、多屏适配方案
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (ZT)一个美国文科博士的YardLife
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • ../depcomp: line 571: exec: g++: not found
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .equals()到底是什么意思?
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net网站发布-允许更新此预编译站点
  • @Mapper作用
  • @RequestBody与@ModelAttribute
  • []FET-430SIM508 研究日志 11.3.31
  • [2669]2-2 Time类的定义
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [Angular 基础] - 表单:响应式表单
  • [Angular 基础] - 指令(directives)
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [BUUCTF 2018]Online Tool(特详解)
  • [C++] Windows中字符串函数的种类
  • [C++][基础]1_变量、常量和基本类型
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
  • [HackMyVM]靶场 Quick3
  • [Linux]进程信号(信号入门 | 信号产生的方式 | 信号捕捉初识)
  • [Linux内存管理-分页机制]—把一个虚拟地址转换为物理地址
  • [OCR]Python 3 下的文字识别CnOCR
  • [oeasy]python0002_终端_CLI_GUI_编程环境_游戏_真实_元宇宙