最近维护的网站总是有搜索引擎来恶意访问,搞咱们网站打开很慢,OMG老总发话了,必需要搞定。linux
曾经在nginx.conf文件中作过滤,but这样作过,可是会影响收录,纠结啊........nginx
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............ssh
GoAccess简介ide
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
简单操做命令:
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 'cat /www/nginx/logs/access.log' | goaccess -s -a -b