shell 脚本分析Nginx 日志

本脚本分析Nginx 负载均衡器的日志:

#!/bin/bash

if [ $# -eq 0 ]; then
    echo "Error:please specify logfile."
    exit 0
else
    LOG=$1
fi

if [ ! -f $1 ]; then
    echo "Sorry,sir. I cat‘t find this apache log file, pls try again!"
    exit 0
fi

##########################################
echo "Most of the IP:"
echo "-----------------------------------"
awk ‘{ print $1 }‘ $LOG|sort |uniq -c |sort -nr |head -10
echo
echo
##########################################
echo "Most of the time:"
echo "-----------------------------------"
awk ‘{ print $4 }‘ $LOG|cut -c 14-18 |sort |uniq -c |sort -nr |head -10

echo
echo
#########################################
echo "Most of the page:"
echo "-----------------------------------"
awk ‘{ print $11 }‘ $LOG |sed ‘s/^.*\\(.cn*\\) \"/\\1/g‘ |sort |uniq -c |sort -rn |head -10
echo
echo
########################################
echo "Most of the time /Most of the ip:"
echo "-----------------------------------"
awk ‘{ print $4 }‘ $LOG |cut -c 14-18 |sort -n |uniq -c |sort -nr |head -10 >timelog

for i in `awk ‘{ print $2 }‘ timelog`
do
    num=`grep $i timelog |awk ‘{ print $1 }‘`
    echo " $i $num"
    ip=`grep $i $LOG|awk ‘{ print $1 }‘ |sort -n | uniq -c |sort -nr |head -10`
    echo "$ip"
    echo
done
rm -f timelog
时间: 2024-10-23 21:55:27

shell 脚本分析Nginx 日志的相关文章

shell脚本分析nginx日志

第一版,比较粗糙,仅限于能用 正在写入的文件不能用tar进行压缩 --------压缩日志---------------------- 94 access.log 95 tar: access.log: file changed as we read it 96 #### 压缩日志失败 #### #!/bin/sh #分析nginx日志 DATE=`date '+%Y%m%d-%H%M'` ARCHIVE=/usr/log_bak/nginx_$DATE.tar.gz MESSAGE=/usr/

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi

shell脚本分析apache日志状态码

一.首先将apache日志按天切割 vi /etc/httpd/conf/httpd.confErrorLog "|rotatelogs /var/log/httpd/%Y%m%derror_log 86400 480″CustomLog "|rotatelogs /var/log/httpd/%Y%m%daccess_log 86400 480″ combined 二.重启apache服 service httpd restart ##################apahce日志

烂泥:利用awstats分析nginx日志

昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割nginx日志>这篇文章. 今天打算分析下nginx日志,要分析nginx日志,我们可以通过shell脚本和第三方软件awstats进行分析,在此我们选择的是通过第三方软件awstats进行分析. 要使用awstats分析nginx日志,我们要安装awstats,而在安装awstats之前,我们需要先来介绍下awstats是什么? 一.awstats是什么 awstats是一个免费非常简洁而且强大有个性的基于Pe

python分析nginx日志

问题:分析nginx日志并找出访问最多10个IP地址的来源以及次数 使用python模块IP 使用方法以及下载地址:https://pypi.python.org/pypi/17MonIP 相关python脚本: #!/usr/bin/env python #coding:utf8 #Auth: lad #date:2016-12-05 #desc:parser the nginx's log,the head of 10  import sys reload(sys) sys.setdefau

python 正则分析nginx日志

有个需求要分析nginx日志,也懒得去研究logstach之类的开源工具,干脆直接写一个脚本,自己根据需求来实现: 先看日志格式:我们跟别人的不太一样,所以没办法了: 12.195.166.35 [10/May/2015:14:38:09 +0800] "list.xxxx.com" "GET /new/10:00/9.html?cat=0,0&sort=price_asc HTTP/1.0" 200 42164 "http://list.zhon

使用awstats分析nginx日志

1.awstats介绍 本文主要是记录centos6.5下安装配置awstats,并统计nginx访问日志 1.1 awstats介绍 awstats是一款日志统计工具,它使用Perl语言编写,可统计的日志类型包括appache,nginx,ftp,mail等,awstats对nginx日志统计非常详细,如统计项 按参观时间:  按月历史统计   按日期统计   按星期   每小时浏览次数 按参观者:  国家或地区   城市   IP   最近参观日期   无法反解译的IP地址   搜索引擎网站

awk分析nginx日志中响应时间的方法

针对响应时间慢的问题,我们在nginx日志格式中增加响应时间,现在需要针对响应时间进行分析,查找出相对较慢的响应时间. 1.确认下日志文件格式 日志格式: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_for

python分析nginx日志的ip,url,status

Python 脚本如下: #!/usr/bin/env python #_*_coding:utf-8 _*_ __author__ = 'lvnian' #!/usr/bin env python # coding: utf-8 import MySQLdb as mysql import sys, os db = mysql.connect(user="root",passwd="[email protected]",db="intest",