awstats分析tomcat日志安装配置说明

服务器环境:centos7.2 64位 tomcat8.5.6
author:yuruixin_china@163.com

安装配置awstats
1. 安装EPEL库
yum -y install epel-release
2. 安装Apache服务器
yum -y install httpd
chkconfig httpd on
service httpd start
3. 安装AWStats
yum -y install awstats
4. 配置文件
创建AWStats的配置文件

cp /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.yanglao.com.conf
vim  /etc/awstats/awstats.yanglao.com.conf
LogFile="/var/log/tomcat_yanglao/tomcat_yanglao_awstats.log"
SiteDomain="yanglao.com"
HostAliases="yanglao.com 127.0.0.1"

编辑awstats配置文件(此处可通过配置限定访问ip)

vim /etc/httpd/conf.d/awstats.conf
<Directory "/usr/share/awstats/wwwroot">
    Options None
    AllowOverride None
    Require all granted
    Allow from all
</Directory>

awstats安装完毕,接下来配置对tomcat日志的分析

vim  /etc/awstats/awstats.yanglao.com.conf
LogFormat = "%host %logname %time1 %methodurl %code %bytesd %referer %uaquot"

相应的tomcat中的日志格式需要配置

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %u %t &quot;%r&quot; %s %b %{Referer}i &quot;%{User-Agent}i&quot;;" prefix="localhost_access_log." suffix=".txt"/>

另,为了每日对日志分析系统中的日志进行更新,需要如下两个脚本:

update_log.sh

#!/bin/sh

if [ ! -d $awstats_update_log_path ]; then
    mkdir $awstats_update_log_path
    echo "[info]创建供awstats分析的日志更新所产生的日志文件存放目录结束,继续..."
fi

if [ ! -f $awstats_update_log_path/$awstats_update_log ]; then
    touch $awstats_update_log_path/$awstats_update_log
    echo "[info]创建供awstats分析的日志更新所产生的日志文件结束,继续..."
fi
updateLog(){
    if [ ! -d $tomcat_yanglao_path ]; then
        mkdir $tomcat_yanglao_path
        echo "[info]创建供awstats分析的日志存放文件目录结束,继续..."
    fi

    if [ -f $tomcat_yanglao_path/$tomcat_yanglao_awstats ]; then
            echo "[info]日志更新之前"
            ls -l $tomcat_yanglao_path/$tomcat_yanglao_awstats
        rm -rf $tomcat_yanglao_path/$tomcat_yanglao_awstats
            echo "[info]$tomcat_yanglao_path/$tomcat_yanglao_awstats 文件已存在,删除过时文件,继续..."
    fi

    echo "[info]开始复制tomcat日志文件:$tomcat_log/$log_name ->> $tomcat_yanglao_path/$tomcat_yanglao_awstats..."
    cp $tomcat_log/$log_name $tomcat_yanglao_path/$tomcat_yanglao_awstats
    echo "[info]复制tomcat日志文件完成,继续..."

    echo "[info]日志更新之后"
    ls -l $tomcat_yanglao_path/$tomcat_yanglao_awstats

    #更新日志文件至awstats
    echo "[info]开始更新日志文件至awstats..."
    perl /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=yanglao.com -update
    echo "[info]更新日志文件至awstats完成 $(date +'%F %H:%M:%S')"
    echo "-----------------------------------------------------------------------------"
}
updateLog>>$awstats_update_log_path/$awstats_update_log

awstats_yanglao.sh

#!/bin/sh
# 前一天tomcat日志的名称
export log_name=localhost_access_log.$(date -d '1 days ago' +%Y-%m-%d).txt
#tomcat日志文件存放目录
export tomcat_log=/var/log/tomcat

#以下两个变量不建议修改,若修改需连同/etc/awstats/awstats.yanglao.com.conf中的LogFile一起修改
#供awstats分析的日志存放文件目录 
export tomcat_yanglao_path=/var/log/tomcat_yanglao
#供awstats分析的日志文件名
export tomcat_yanglao_awstats=tomcat_yanglao_awstats.log

#供awstats分析的日志更新所产生的日志文件存放目录
export awstats_update_log_path=/var/log/awstats_update_log
#供awstats分析的日志更新所产生的日志文件
export awstats_update_log=awstats_update_log.log

#获取当前脚本所在目录
baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)
$baseDirForScriptSelf/update_log.sh

脚本介绍:
awstats_yanglao.sh配置脚本使用的变量
注:tomcat_yanglao_path,tomcat_yanglao_awstats两个变量不建议修改,若修改需连同/etc/awstats/awstats.yanglao.com.conf中的LogFile一起修改
update_log.sh执行日志更新操作

使用crontab设置定时执行awstats_yanglao.sh(每天零点执行):
1)crontab -e
2 )插入0 0 * * * /usr/bin/yanglao/awstats_yanglao.sh
3)systemctl reload crond
systemctl restart crond
安装配置成功!
这里写图片描述
定时执行更新日志脚本后产生的日志截图如下:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值