`
beyondhjjyt
  • 浏览: 37579 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Linux下apache日志分析与状态查看方法

 
阅读更多

使用apache服务器,有时候需要查看apache的日志与状态,那么就需要下面的命令了,特分享下方便需要的朋友

假设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 -n 10

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}' access_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,查看apache进程:
ps aux | grep httpd | grep -v grep | wc -l

2,查看80端口的tcp连接:
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

3,通过日志查看当天ip连接数,过滤重复:
cat access_log | grep "19/May/2011" | awk '{print $2}' | sort | uniq -c | sort -nr

4,当天ip连接数最高的ip都在干些什么(原来是蜘蛛):
cat access_log | grep "19/May/2011:00" | grep "61.135.166.230" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10

5,当天访问页面排前10的url:
cat access_log | grep "19/May/2010:00" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10

6,用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr

接着从日志里查看该ip在干嘛:
cat access_log | grep 220.181.38.183| awk '{print $1"/t"$8}' | sort | uniq -c | sort -nr | less

7,查看某一时间段的ip连接数:
grep "2006:0[7-8]" www20110519.log | awk '{print $2}' | sort | uniq -c| sort -nr | wc -l

8,当前WEB服务器中联接次数最多的20条ip地址:
netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -n -r | head -n 20

9,查看日志中访问次数最多的前10个IP
cat access_log |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less

10,查看日志中出现100次以上的IP
cat access_log |cut -d ' ' -f 1 |sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr |less

11,查看最近访问量最高的文件
cat access_log |tail -10000|awk '{print $7}'|sort|uniq -c|sort -nr|less

12,查看日志中访问超过100次的页面
cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less

13,列出传输时间超过 30 秒的文件
cat access_log|awk '($NF > 30){print $7}'|sort -n|uniq -c|sort -nr|head -20

14,列出最最耗时的页面(超过60秒的)的以及对应页面发生次数
cat access_log |awk '($NF > 60 && $7~//.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100

分享到:
评论

相关推荐

    Apache访问日志的配置与使用

    本文主要是在linux下设置apache的httpd.conf配置文件,实现记录自己想要记录的web访问日志,如客户机IP、连接的日期和时间、响应请求的状态代码等等。

    LINUX操作系统(电子教案,参考答案)

    16.3.2 Linux下与域名系统相关的 几个配置文件 263 16.3.3 Caching Only域名服务器 的配置 264 16.3.4 主域名服务器的配置 269 16.3.5 从域名服务器的配置 272 16.4 设置chroot的DNS 273 小结 275 习题十六 276 一、...

    Apache 服务器配置和管理

    本书重点介绍如何在 Linux 平台下使用和管理 Apache 服务器。首先介绍如何获取、编译、配置和运行 Apache;然后详细介绍如何管理一个已创建的 Web 站点。涉及的内容有“服务器端包含”命令(SSI)、如何对“通用网关...

    linux下动态网站维护基本命令小结

    tail -f 查看apache访问日志与错误日志 查看系统日志/var/log/messages 查看服务器与Mysql数据库的连接情况 3.故障处理 (1).PHP类动态网站 服务不能启动、运行中不响应用户请求…… a.apache 配置文件错误 b.动态...

    RED HAT LINUX 6大全

    第一部分 Red Hat Linux的介绍与安装 第1章 Red Hat Linux和UNIX简介 1 1.1 Linux的优点 2 1.2 版权和保证 3 1.3 在哪里可以获取Red Hat Linux 3 1.4 系统需求 3 1.5 小结 4 第2章 Red Hat系统的安装 5 2.1 准备,...

    Linux命令笔记

    3:把apache日志加入轮替 4:logrotate日志轮替 语法 logrotate [选项] 配置文件名 rsyslogd-日子服务 1:日志文件格式 2:/etc/rsyslog.comf配置文件 第九部分:软件包管理 软件包管理\软件包管理 1:软件包管理...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.6 Linux下常见的性能分析工具 10.6.1 vmstat命令 10.6.2 sar命令 10.6.3 iostat命令 10.6.4 free命令 10.6.5 uptime命令 10.6.6 netstat命令 10.6.7 top命令 10.7 基于Web应用的性能分析及优化...

    服务器安全狗linux版(64位) v2.8.17991.gz

    服务器安全狗Linux版是为Linux服务器开发的一款服务器管理软件,全面支持apache和nginx防护。,全面支持云端设置。集成了DDOS攻击检测和防御系统、CC攻击防护、Ftp/SSH防暴力破解、SSH远程登录保护、流量统计、帐户...

    Apache服务启动

    8.支持实时监视服务器状态和定制服务器日志 9.支持服务器端包含指令(SSI) 10.支持安全Socket层(SSL) 11.提供用户会话过程的跟踪 12.支持FastCGI 13.通过第三方模块可以支持JavaServlets 如果你准备选择Web服务器,...

    IT运维之Linux服务器监控方案.doc

    系统负载、cpu使 用率、内存占用、磁盘空间、网络流量、端口、进程、apache或tomcat的连接数、mysq l的运行状态这些都是我想要监控的东西,但又能做到多少呢,我只能尽力而为了。要了 解服务器每时每刻的整体运行...

    FreeBSD使用大全

    查看系统状态 定时执行程序 进程的权限 安装应用软件 应用软件的类别 Packages Collection 打印机配置 系统结构 配置打印机 系统日志与备份 系统日志 系统备份 第4章 网络配置与使用 DOD参考模型 基本网络...

    VHost虚拟主机系统 v2.6.6

    一款基于Linux/UNIX的虚拟主机管理系统。VHost的所有操作都是通过web实现,用户可以...增加了系统状态查看功能;增加了对虚拟邮件域支持;增加了MySQL的在线管理功能;增加了在线申请开通功能,以供用户申请测试帐号

    Ubuntu权威指南(2/2)

    1.1 Linux的兴起与发展 2 1.2 充分利用网上资源 3 1.2.1 Ubuntu官方网站 3 1.2.2 GNU网站 4 1.2.3 Linux文档项目网站 4 1.2.4 网上求助 5 1.3 随时查询随机文档 6 1.3.1 使用“--help”选项查询 命令的简单说明 6 ...

    Ubuntu权威指南(1/2)

    1.1 Linux的兴起与发展 2 1.2 充分利用网上资源 3 1.2.1 Ubuntu官方网站 3 1.2.2 GNU网站 4 1.2.3 Linux文档项目网站 4 1.2.4 网上求助 5 1.3 随时查询随机文档 6 1.3.1 使用“--help”选项查询 命令的简单说明 6 ...

    Turbolinux 学习入门宝典

    1.3.2 Linux 与其他操作系统的区别 8 第2章 基本操作 10 2.1 系统登录 10 2.1.1 定义登录方法 10 2.1.2 使用命令行进行登录 11 2.1.3 在命令行下退出登录状态 12 2.1.4 使用GUI(图形化用户界面)进行登录 12 2.1.5 ...

    phpSysInfo 3.3.0.zip

    phpSysInfo是基于apache和php,简单监测服务器状态,包括服务器使用的系统,核心版本,服务器硬件信息详细信息,同时还有网络设备的使用情况,以及内存的使用情况,磁盘信息等,在页面最顶端可以选择页面的风格以及...

    activemq-artemis:Apache ActiveMQ Artemis的镜像

    ActiveMQ Artemis提供了两种日志持久性类型:NIO(使用Java NIO库)和ASYNCIO,与Linux内核libaio库进行交互。 应尽可能使用ASYNCIO日志类型,因为它在性能方面要优越得多。 ActiveMQ Artemis在源代码发行版中不...

Global site tag (gtag.js) - Google Analytics