2013-11-06 14:16:01
来 源
IT技术网
Nginx
本文介绍使用goAccess分析Nginx日志,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。

最近维护的网站老是有搜索引擎来恶意访问,搞我们网站打开很慢,OMG老总发话了,必须要搞定。

曾经在nginx.conf文件中做过滤,but这样做过,但是会影响收录,纠结啊........

if ($http_user_agent ~* "Gecko|YoudaoBot|baiduspider|Googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot|MJ12bot|NHN|Twiceler"){

return  403;

 }

发现了个日记分析工具,感觉挺好用的,但是我的问题还是没有解决,难道叫我屏蔽IP吧,可能需要这样做。

下面让我们挖掘GoAccess,good jobs............

GoAccess简介

GoAccess是运行在Unix系统终端,开源、实时分析Apache日志(其实也能够分析Nginx日志)并且能够动态呈现的软件。它为系统管理员提供了一个快速、有价值的HTTP统计,动态的可视化的服务器报告。

作用

GoAccess的工作方式是,它将解析众所周知的Apache访问日志文件 access log,GoAccess通过解析日志收集的数据,将会显示它的控制台或某个终端。收集到的信息或生成的报告将显示给在视觉、交互窗口的系统管理员用户。报告包括:

综合统计

访客排行榜

请求文件排行榜

请求的静态文件排行榜,如图片、JS文件、CSS文件等

访问来源

404页面

访问者的操作系统

访问者的浏览器

浏览器和蜘蛛(搜索爬虫)

主机,反向DNS,IP位置

HTTP状态码

推介网站

搜索关键词

显示时不同的配色方案

无限制日志文件的大小(决定了GoAccess的打开速度)

GoAccess主页 http://goaccess.prosoftcorp.com/

GoAccess命令

#下载AoAccess安装包

wget http://sourceforge.net/projects/goaccess/files/0.4.2/goaccess-0.4.2.tar.gz/download

#解压文件

tar zxvf goaccess-0.4.2.tar.gz

cd goaccess-0.4.2

#启动ip归属地查询和utf8编码格式支持

./configure –enalbe-geoip –enable-utf8

make

make install

用法介绍

GoAccess的基本语法如下:

goaccess [ -b ][ -s ][ -e IP_ADDRESS][ - a ] <-f log_file >

goaccess -b access.log

参数说明:

 1) -f – 日志文件名

 2) -b – 开启流量统计,如果希望加快分析速度不建议使用该参数

 3) -s – 开启HTTP响应代码统计

 4) -a – 开启用户代理统计

 5) -e – 开启指定IP地址统计,默认禁用

用法示例:

最简单、常用的命令就是直接调用goaccess命令

goaccess –f access.log

  goaccess nginx日志分析工具 - Vincent - Vincent

简单操作命令:

1 + O

2 + O

3 + O

.....................................

显示HTTP响应代码、用户代理、流量消耗(产生完整、全面统计数据的使用方式)

goaccess –f access.log –s –a –b

goaccess支持linux管道,我们可以将日志文件预处理后,再交给goaccess去分析。

zcat access.log.1.gz | goaccess

Aoaccess去分析已经打包压缩好的日志文件或者干脆分析目前下所有日志

zcat access.log* | goaccess

如果需要分析某天的日志,例如2012年9月号8那天的日志,我们让linux管道命令。

sed -n ‘/08/Sep/2012/,$ p’ access.log | goaccess -s –b

低优先级运行GoAccess的方式

nice -n 19 goaccess -f access.log -s -a -b

分析从9月1号到9月30号的日志

sed -n ‘/1/Sep/2012,/30/Sep/2012/ p’ access.log | goaccess -s –b

调用本地的goaccess程序来分析服务器上的日志(远程分析nginx log)

ssh [email protected] 'cat /www/nginx/logs/access.log' | goaccess -s -a -b

但是如果你在SecureCRT工具下使用可不行哦,good luck.....

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。