ECS linux 下搭建awststs实现对nginx日志统计的具体操作
发布日期:2015-12-23 11:12:7
步骤如下: 1、搭建web服务器,用于展示统计页面,此处采用的是nginx+php的实现方案 1):nginx的安装配置,这里依赖很多的库文件,可以直接yum相应的套件即可 [root@awstats source]# ls nginx-1.2.2.tar.gz nginx-1.2.2.tar.gz [root@awstats source]# tar zxvf nginx-1.2.2.tar.gz [root@awstats source]#./configure --prefix=/home/service/nginx --with-http_stub_status_module --with-pcre [root@awstats nginx-1.2.2]# make && make install 2):php相关的安装配置 [root@awstats source]# ls php-5.4.5.tar.gz php-5.4.5.tar.gz [root@awstats source]# tar zxvf php-5.4.5.tar.gz [root@awstats php-5.4.5]#'./configure' '--prefix=/home/service/php5.45' '--with-jpeg-dir' '--with-gettext' '--with-png-dir' '--enable-exif' '--enable-mysqlnd' '--with-mysql=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-curl' '--enable-ftp' '--with-mcrypt' '--disable-debug' '--enable-xml' '--enable-mbstring' '--enable-sockets' '--with-zlib' '--enable-dom' '--with-gd' '--with-tidy' '--enable-gd-native-ttf' '--with-freetype-dir' '--with-mhash' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curlwrappers' '--enable-mbregex' '--enable-pcntl' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--enable-fpm' '--with-fpm-user=work' '--with-fpm-group=work' '--with-pear' '--with-snmp' [root@awstats php-5.4.5]#make && make install 2、对nginx日志的切割 1)创建管道 #mkfifo pro.access.pipe.log 2)建立转换脚本 # cat startCronolog.sh #!/bin/bash nohup cat /usr/local/nginx/logs/pro.access.pipe.log | /usr/local/sbin/cronolog /usr/local/nginx/logs/pro-access.%Y%m%d%H.log & 3)修改一下配置文件,下边的那句话 #vim nginx.conf log_format main '$http_x_forwarded_for - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$remote_addr" "$request_time" ' '"$request_time" '; access_log logs/pro.access.pipe.log main; 4)重新启动nginx即可以 3、安装和配置awstats (1)、软件是安装 #wget http://awstats.sourceforge.net/files/awstats-7.0.tar.gz #tar -zxvf awstats-7.0.tar.gz #mv awstats-7.0 /usr/local/awstats (2)、创建配置文件 #cd /usr/local/awstats/tools #./awstats_configure.pl 这里分为几个步骤为必填项目 first : 这里添none并回车,因为我们没有使用apache second:这里选Y,创建一个新的配置文件 third: 这里输入你要分析的域名,或是随便一个你易记的配置名并回车 four:接下来要定义你的配置文件存放的路径,可用默认 last:最后几个步骤直接回车,使用默认路径/etc/awstats (3)、对配置文件的修改,这里主要是对需要分析日志的选定 # vim /etc/awstats/awstats.pro.meilishuo.com.conf LogFile="/var/nginx/logs/pro-access.all.log" (4)、创建一个awstats用于记录数据的目录 #mkdir -p /var/lib/awstats (5)、测试 然后运行awstats的wwwroot目录中的awatsts.pl来测试一下 /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=需要分析的域名 (6)、先生成存放awstats生成的静态文件的目录,我这里用的是/home/www/awstats #mkdir -p /home/www/awstats (7)、创建自动更新脚本 #cat awstats.sh #!/bin/bash mkdir -p /home/www/awstats/example.com /usr/local/awstats/tools/awstats_buildstaticpages.pl -update \ -config=pro.meilishuo.com -lang=cn -dir=/home/www/awstats/pro.meilishuo.com \ -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl 上述命令的具体意思如下: /usr/local/awstats/tools/awstats_buildstaticpages.pl Awstats 静态页面生成工具 -update -config=akii.org 更新配置项 -lang=cn 语言为中文 -dir=/home/www/awstats 统计结果输出目录 -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl Awstats 日志更新程序路径 (8)、在nginx里的配置 # cat awstats.conf server { listen 80; server_name awstats.example.com; root /home/www/awstats/pro.example.com; index awstats.pro.example.com.html; charset gb2312; location ~ ^/awstats/ { root /home/www/awstats/pro.example.com; autoindex on; index awstats.pro.example.com.html; access_log off; charset gb2312; } location ~ ^/icon/ { root /usr/local/awstats/wwwroot; index index.html; access_log off; } } (10)、生产网页直接运行脚本即可,通过网页观看即可 [root@awstats bsh]# ./awstats.sh 4、增加对ip地址的过滤这个可以参考一篇文章 一,插件安装 http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.38.tar.gz 这两个是一组,必须先编译安装C的,再编译安装perl的 安装GeoIP 需要 GeoIP C Library Geo::IP Perl Module (faster, but requires C library) Geo::IP:urePerl Module (slower, but does not require C library) C Library和Perl Module是一组,必须先编译安装C的,再编译安装perl,或者直接装PurePerlModule,我就是这种方式 安装GeoIP C Library # wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz # tar zxvf GeoIP-1.4.6.tar.gz # cd GeoIP-1.4.6 # ./configure; make; make install 安装Geo::IP Perl Module # wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.38.tar.gz # tar zxvf Geo-IP-1.38.tar.gz # cd Geo-IP-1.38 # perl Makefile.PL # make # make test # make install # wget http://www.maxmind.com/download/geoip/api/pureperl/Geo-IP-PurePerl-1.24.tar.gz # tar zxvf Geo-IP-PurePerl-1.24.tar.gz # cd Geo-IP-PurePerl-1.24 # perl Makefile.PL PP=1 # make # make test # make install 安装完成后取消awstats配置文件中下行的注释: LoadPlugin="geoip GEOIP_STANDARD/uasr/local/share/GeoIP/GeoIP.dat" LoadPlugin="geoip_city_maxmind GEOIP_STANDARD/usr/local/share/GeoIP/GeoLiteCity.dat" 更新GeoIP库 # cd /usr/local/share/GeoIP/ # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz # gunzip GeoIP.dat.gz #wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz # gunzip GeoLiteCity.dat.gz 定时更新GeoIP库 0 0 * * * root /usr/local/bin/geoipupdate -v 4、这样就完成了.scp为日志抓取的脚本 */50 * * * * cd /home/service/bsh/; ./scp.sh 0 0 * * * root /usr/local/bin/geoipupdate -v 整个就完成了
|