nginx实用的日志分析脚本

nginx日志分析脚本:

 代码如下 复制代码

vi /mnt/logs/checklog.sh

#!/bin/bash
echo -e  "####################`date +%F`" >> /mnt/logs/400.txt
echo -e  "####################`date +%F`" >> /mnt/logs/URL.txt
echo -e  "####################`date +%F`" >> /mnt/logs/IP.txt
cat $1 | wc -l >> /mnt/logs/IP.txt   #分析IP
cat  $1  | awk -F'"'  '{print $3}' | awk '{print $1}' | sort | uniq -c| sort -rn >  /mnt/logs/CODE.txt   #分析返回值
cat $1 |  awk   '{print $1}' |  sort | uniq -c| sort -rn | head -n20  >> /mnt/logs/IP.txt 
N=`cat /mnt/logs/CODE.txt | wc -l`
for I in $(seq 1 $N)
do
M=`head -n$I /mnt/logs/CODE.txt | tail -n1 | awk '{print $2}'`
if [ $M -ge 400 ]
then

echo "#####FIND $M###############">>/mnt/logs/400.txt   #分析错误请求
cat $1 | grep "" $M "  | grep -v ' "-" "-" - ' | sort | awk '{print $1 $2 $3 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21}' | sort | uniq -c  | sort -rn  | head -n5 >> /mnt/logs/400.txt
fi
done
cat  $1 | grep -v ' "-" "-" - ' | awk -F'T' '{print $2}' | awk -F'?' '{print $1}' | sort |awk '{print $1}' | sed  's/(/review/file/download/).*/1/g'   | sort | uniq -c | sort -rn | head -n20 >> /mnt/logs/URL.txt

有时我希望实时的监控并分析日志怎么办,我们可参考下面的日志分析脚本。

1.查看nginx的进程数

 代码如下 复制代码
# ps -aux|grep nginx|wc -l

2、分析日志查看当天的ip连接数

 代码如下 复制代码
# grep "23/Apr/2011" logs/www.thinkwap.access.log|wc -l

3.查看指定的ip在当天究竟访问了什么url

 代码如下 复制代码
# grep "23/Apr/2011" logs/www.thinkwap.log|grep "69.248.213.128"|awk '{print $9}'

4.查看当天访问排行前10的url

 代码如下 复制代码
# grep "23/Apr/2011" logs/www.thinkwap.log|awk '{print $9}'|sort |uniq -c |sort -nr |head -n 10

5、查看访问次数最多时间以小时为单位(热点)

 代码如下 复制代码
# grep "24/Apr/2011" logs/www.thinkwap.log|awk '{print $6}'|cut -c14-15|sort |uniq -c |sort -nr|head
时间: 2024-08-04 14:08:57

nginx实用的日志分析脚本的相关文章

简单的Nginx切割网站日志的脚本

今天在网上查阅Nginx的相关的优化,看到一篇关于Nginx切割日志的文章 于是自己设置了下,开始没生效,后来结果是我设置的路径有问题. 正常的Nginx的日志文件路径是在/usr/local/nginx/logs/ 因为用的Lnmp一键配置环境,所以日志的路径为/home/wwwlogs/ 脚本如下: #nginx日志切割脚本 #!/bin/bash #设置日志文件存放目录 logs_path="/home/wwwlogs/" #设置pid文件 pid_path="/usr

nginx自己写日志切割脚本

nginx不像apache一样有切割功能 得自己创建切割脚本 比如我们放在并命名/usr/loal/nginx/sbin/nginxlog.sh 最后我们要做压缩 因为日志可能有些大 脚本如下:d = date -d "-1 day" +%F[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_logmv /tmp/access.log /tmp/nginx.log/$d.log/etc/init.d/nginx reload 2> /dev/nul

nginx多server日志分割脚本分享_linux shell

1,配置多个server日志只要在$website变量增加并用空格分开就行.2,循环创建日志目录3,分割后用xz 压缩,当然没安装可以用gzip bzip2等等.4,注意我配置nginx日志文件名为 "access_{{站点网站}}.log" "error_{{站点网站}}.log" 复制代码 代码如下: # !/usr/bin/bashlog_dir="/usr/local/nginx/logs"back_log_dir="/disk

nginx日志分析shell脚本

先基本了解一几条命令 一下脚本都是基于上面日志格式的,如果你的日志格式不同需要调整awk后面的参数. 分析日志中的UserAgent  代码如下 复制代码 cat access_20130704.log | awk -F """ '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -20 上面的脚本将分析出日志文件中最多的20个UserAgent 分析日志中那些IP访问最多  代码如下 复制代码 cat access_20

linux中nginx日志分析shell脚本

以前使用虚拟主机的时候,查看网站运行日志,就发现了很多异常的恶意的访问.当时因为自己并没有系统权限没办法对这些行为进行屏蔽.现在有了自己的云主机,前端时间查看日志,又发现了很多恶意访问.正好可以通过最近对shell的学习,来做一个简单的日志分析工具,来屏蔽一些这样的操作. 首先,所谓的分析工具,肯定是建立在人为的分析的基础上的.我们来看一点我的域名运行日志:  代码如下 复制代码 78.56.78.115 - - [21/May/2014:16:54:27 +0800] "POST /wp-lo

GoAccess:nginx日志分析利器

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

[喵咪Liunx(6)]Nginx日志分析工具goaccess

[喵咪Liunx(6)]Nginx日志分析工具goaccess w-blog博客 前言 哈喽大家好呀!真是好久不见了,说来有些惭愧,离上一次发布博客已经是2016年的事情了,在这段时间中工作也比较忙,需要学习的东西也比较多,趁着过年前后有一些时间可以来好好分享分享一些有意思的东西,今天给大家带来的是Nginx日志分析工具goaccess,goaccess可以对Nginx的LOG文件进行分析,对请求量,用户数量等进行可视化展示,好那么久进入我们今天的正题吧! 附上: 喵了个咪的博客:w-blog.

RHCE学习<6>Apache、Nginx详解和AWStats日志分析

一.Apache服务 Apache是Apache软件基金会的一个开放源码的网页服务器,是世界使用最广泛的Web服务端之一,译为阿帕奇:Apache具有优秀的性能,稳定性,是通过加载模块来提供各种功能. 1.主配置httpd.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ServerRoot     #服务目录 ServerAdmin    #管理员邮箱 user           #运行服务的用户身份 group        

nginx日志分析利器GoAccess

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa