`
zhengdl126
  • 浏览: 2539777 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

[shell]Nginx/Apache日志分析脚本

阅读更多

http://junlee.blog.51cto.com/228061/270071

 

 

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 "20/Oct/2008" | awk '{print $2}' | sort | uniq -c | sort -nr

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

cat access_log | grep "20/Oct/2008:00" | grep "122.102.7.212" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10

5,当天访问页面排前10的url:

cat access_log | grep "20/Oct/2008: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
<pre>
接着从日志里查看该ip在干嘛:
<pre lang="php">
cat access_log | grep 122.102.7.212| awk '{print $1"\t"$8}' | sort | uniq -c | sort -nr | less

7,查看某一时间段的ip连接数:

grep "2006:0[7-8]" www20060723.log | awk '{print $2}' | sort | uniq -c| sort -nr | wc -l

 

 

 

 

==============================nginx

log_format main '[$time_local] $remote_addr $status $request_time $body_bytes_sent "$request" "$http_referer"';
access_log      /data0/logs/access.log  main;

 

 

格式如下:
[21/Mar/2011:11:52:15 +0800] 58.60.188.61 200 0.265 28 "POST /event/time HTTP/1.1" "http://host/loupan/207846/feature"


通过日志查看当天ip连接数,过滤重复
cat access.log | grep "20/Mar/2011" | awk '{print $3}' | sort | uniq -c | sort -nr
38 112.97.192.16
     20 117.136.31.145
     19 112.97.192.31
      3 61.156.31.20
      2 209.213.40.6
      1 222.76.85.28

 

当天访问页面排前10的url:
cat access.log | grep "20/Mar/2011" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10

 

找出访问次数最多的10个IP
awk '{print $3}' access.log |sort |uniq -c|sort -nr|head
  10680 10.0.21.17
   1702 10.0.20.167
    823 10.0.20.51
    504 10.0.20.255
    215 58.60.188.61
    192 183.17.161.216
     38 112.97.192.16
     20 117.136.31.145
     19 112.97.192.31
      6 113.106.88.10

 

 

找出某天访问次数最多的10个IP

cat /tmp/access.log | grep "20/Mar/2011" |awk '{print $3}'|sort |uniq -c|sort -nr|head
     38 112.97.192.16
     20 117.136.31.145
     19 112.97.192.31
      3 61.156.31.20
      2 209.213.40.6
      1 222.76.85.28

 

 


当天ip连接数最高的ip都在干些什么:
cat access.log | grep "10.0.21.17" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10
224 /test/themes/default/img/logo_index.gif
    224 /test/themes/default/img/bg_index_head.jpg
    224 /test/themes/default/img/bg_index.gif
    219 /test/vc.php
    219 /
    213 /misc/js/global.js
    211 /misc/jsext/popup.ext.js
    211 /misc/js/common.js
    210 /sladmin/home
    197 /misc/js/flib.js

 


找出访问次数最多的几个分钟
 awk '{print $1}' access.log | grep "20/Mar/2011" |cut -c 14-18|sort|uniq -c|sort -nr|head
     24 16:49
     19 16:17
     16 16:51
     11 16:48
      4 16:50
      3 16:52
      1 20:09
      1 20:05
      1 20:03
      1 19:55

 

 

 

分享到:
评论

相关推荐

    nginx-log-analysis:用于分析 nginx 日志文件的很棒的 linux shell 命令的精选列表

    本篇文章将详细介绍如何利用Linux shell命令来分析Nginx的日志文件。 首先,了解Nginx的日志格式至关重要。默认情况下,Nginx的主要访问日志文件通常位于`/var/log/nginx/access.log`,采用combined日志格式,内容...

    Linux+Nginx+MySQL+PHP一体化安装脚本

    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian VPS(VDS)或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的...

    100个shell脚本合集

    5. Nginx 访问日志分析脚本:通过分析Nginx的access.log,可以获取到网站访问情况,例如最频繁的URL、访问来源、错误页面等。这些数据对于优化网站性能和安全策略很有帮助。 6. 查看网卡实时流量脚本:通过shell...

    Linux+Apache+Nginx+Mysql+PHP完美配置教程

    将所有源码包下载到同一目录,例如`/lamp/bin`,然后编写一个shell脚本来批量解压缩这些文件。 2. **确认磁盘空间** 在开始编译前,检查磁盘空间是否足够,避免因空间不足导致编译失败。使用`df -h`命令查看磁盘...

    bash-createproject:一个 bash 脚本,它允许我通过直接创建所有必需的 Apache Nginx 配置文件和文件夹来创建一个新的 Web 项目

    一个bash脚本,它允许我通过直接创建所有必需的Apache / Nginx配置文件和文件夹来创建一个新的Web项目。 ##它有什么作用 ? 在/var/log/apache2/为apache日志创建一个文件夹(因为我按域对我的日志进行分组) ...

    生产环境,线上使用)shell python运维web脚本db 安全脚本.7z

    "web"目录中的脚本可能与Web服务器的管理相关,包括但不限于Apache、Nginx等。这些脚本可能用于配置、重启服务器、部署新应用、处理HTTP请求日志等。Python在Web运维中也发挥着重要作用,例如通过Flask或Django框架...

    用于检测进程的shell脚本代码小结

    service.chk 服务检测脚本## 根据自己的环境修改_pgrep=”/usr/bin/pgrep”_mail=”/usr/bin/mail”## 环境变量_chklist=”/usr/bin/php-cgi /usr/sbin/nginx /usr/sbin/lighttpd /usr/sbin/mysqld /usr/sbin/apache...

    linux 下web服务器每天生成日志的shell脚本

    在Linux环境中,Web服务器如Apache或Nginx每天都会生成大量的访问日志,这些日志对于监控服务器状态、分析用户行为、排查问题等都至关重要。为了有效地管理和利用这些日志,我们可以编写一个shell脚本来自动化地处理...

    BASH-log_nginx:httpd 日志的简单解析器(nginxapache)

    标题 "BASH-log_nginx:httpd 日志的简单解析器(nginxapache)" 指向的是一个使用 BASH shell 脚本解析 HTTP 服务器日志的工具,特别是针对 nginx 和 apache 这两种广泛使用的 web 服务器。这个脚本可能包含了一些...

    使用shell脚本分析网站日志统计PV、404、500等数据

    /bin/bash#purpose:count nginx or apache or other webserver status code using jiankongbao#how to:run the script every 5 minutes with crontablog_path=”/var/log/nginx/www.jb51.net/acc

    shell入门到进阶,脚本机动化

    针对日志分析处理,shell脚本可以利用`grep`、`awk`等工具快速提取有用信息,并进行进一步的统计分析,如PV(页面浏览量)、UV(独立访客数)的计算,以及错误代码(如HTTP状态码200、非200)的统计等。此外,还可以...

    Nginx的相关配置

    - **实现日志切割**:可以通过编写Shell脚本来实现自动日志切割: ```bash #!/bin/bash d=$(date -d "-1 day" "+%Y%m%d") logs_path="/var/log/nginx" pid_path="/usr/local/nginx/logs/nginx.pid" if [ -d $...

    shell-编写lanmp一键安装脚本

    LAMP(Linux、Apache、MySQL、PHP)与LNMP(Linux、Nginx、MySQL、PHP)是两种常见的Web服务器环境组合,在实际应用中广泛被采用。通过编写一个自动化脚本,可以极大地提高部署效率,减少人工干预。 #### 核心功能 ...

    nginx-reverse-proxy-ispconfig:使用Nginx作为反向代理为Apache生成Nginx conf

    Nginx与Apache反向代理配置生成器 ...该脚本的最终目标是将其挂接到ISPConfig(与Apache一起使用),因此即使将Apache配置为主要的Web服务器,ISPConfig仍可以创建/重新创建Nginx配置文件。 如果有时间的

    nginx安装包程序文件

    - **Apache**:相比Apache,Nginx在处理高并发请求时表现出更好的性能,且内存占用更少。 - **IIS**:在Windows环境下,IIS是常见的选择,但Nginx在跨平台和性能方面具有优势。 总之,Nginx的安装包文件提供了...

    shell脚本的介绍与教学

    ### Shell脚本的介绍与教学 #### shell概览与作用 **shell脚本**是一种用于自动化执行任务的强大工具,尤其适用于Linux系统环境。通过编写shell脚本,可以实现多种自动化操作,极大地提高工作效率。 1. **自动化...

    nginx+mysql+php for macos 一键安装脚本.zip

    标题 "nginx+mysql+php for macos 一键安装脚本.zip" 暗示了这是一个专为 macOS 平台设计的自动化安装包,用于快速部署常见的 Web 开发环境——LAMP(Linux, Apache, MySQL, PHP)的变种,即 NMP(Nginx, MySQL, PHP...

    Linux 6下安装编译安装Nginx的步骤

    为了让 Nginx 在每次系统重启后自动启动,可以创建一个简单的 shell 脚本或使用 `systemd` 的方式设置: ```bash # ln -s /usr/sbin/nginx /etc/rc.d/init.d/nginx ``` 通过以上步骤,我们已经在 Linux 6 环境...

Global site tag (gtag.js) - Google Analytics