AWStats日志分析系统

1.什么是AWStats

AWStats是一款功能强大且功能强大的免费工具,可以图形方式生成高级Web,流媒体,ftp或邮件服务器统计信息。此日志分析器用作CGI或命令行, 并在几个图形网页中显示您的日志包含的所有可能信息。 它使用部分信息文件来经常快速地处理大型日志文件。它可以分析来自所有主要服务器工具的日志文件,如Apache日志文件(NCSA组合/ XLF / ELF日志格式或通用/ CLF日志格式),WebStar,IIS(W3C日志格式)以及许多其他Web,代理,wap,流服务器,邮件服务器和一些ftp服务器。 关于AWStats与其他日志分析系统的对比可以查看:https://awstats.sourceforge.io/docs/awstats_compare.html

2.安装AWStats

2.1 获取awstats

AWStats 官网:https://awstats.sourceforge.io/ AWStats 下载地址: https://awstats.sourceforge.io/#DOWNLOAD

2.2安装awstats

系统版本说明

[root@clsn ~]# cat  /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@clsn ~]# uname  -r
3.10.0-862.9.1.el7.x86_64

安装步骤

wget https://prdownloads.sourceforge.net/awstats/awstats-7.7.tar.gz
tar  xf awstats-7.7.tar.gz 
mv  awstats-7.7 /usr/local/
ln -s /usr/local/awstats-7.7/ /usr/local/awstats
# 注:awstats默认为www用户,可以根据web环境用户进行修改
chown -R www.www /usr/local/awstats/

3.配置启动AWStats

3.1初始化配置

在这次配置中我已站点nmtui.com为例,进行设置。
[root@clsn tools]# cd /usr/local/awstats/tools
[root@clsn tools]# ./awstats_configure.pl

----- AWStats awstats_configure 1.0 (build 20140126) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Linux, BSD or Unix
Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'.
If you want to use standard directory, you should first move all content
of AWStats distribution from current directory:
/usr/local/awstats-7.7
to standard directory:
/usr/local/awstats
And then, run configure.pl from this location.
Do you want to continue setup from this NON standard directory [yN] ? y

-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup): #
> none

Your web server config file(s) could not be found.
You will need to setup your web server manually to declare AWStats
script as a CGI, if you want to build reports dynamically.
See AWStats setup documentation (file docs/index.html)

-----> Update model config file '/usr/local/awstats-7.7/wwwroot/cgi-bin/awstats.model.conf'
  File awstats.model.conf updated.

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> nmtui.com

-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>

-----> Create config file '/etc/awstats/awstats.nmtui.com.conf'
 Config file /etc/awstats/awstats.nmtui.com.conf created.

-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats-7.7/wwwroot/cgi-bin/awstats.pl -update -config=nmtui.com
Or if you have several config files and prefer having only one command:
/usr/local/awstats-7.7/tools/awstats_updateall.pl now
Press ENTER to continue...


A SIMPLE config file has been created: /etc/awstats/awstats.nmtui.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'nmtui.com' with command:
> perl awstats.pl -update -config=nmtui.com
You can also build static report pages for 'nmtui.com' with command:
> perl awstats.pl -output=pagetype -config=nmtui.com

Press ENTER to finish...

3.2编辑配置文件

在初始化配置红 nmtui.com 站点的配置文件在 /etc/awstats/awstats.nmtui.com.conf

vi /etc/awstats/awstats.nmtui.com.conf
# 在配置中寻找【 LogFile 】字段,将其修改为该主机的日志地址。
LogFile="/www/wwwlogs/nmtui.com.log"

3.3配置web站点展示awstats

在使用之前需要搭建nginx或httpd等web服务,可以参考:http://clsn.io/clsn/lx892.html 配置web站点:

mkdir  /www/wwwroot/awstats
cd /usr/local/awstats/wwwroot/
cp -ar  css icon js  /www/wwwroot/awstats/
chown  -R www.www  /www/wwwroot/awstats

生成分析日志

[root@clsn nginx]# /usr/local/awstats/tools/awstats_buildstaticpages.pl  \
-config=nmtui.com -update -lang=cn \
-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl \
-dir=/www/wwwroot/awstats/

Launch update process : "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -update -configdir=
Build main page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output
Build alldomains page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=alldomains
Build allhosts page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=allhosts
Build lasthosts page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=lasthosts
Build unknownip page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=unknownip
Build allrobots page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=allrobots
Build lastrobots page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=lastrobots
Build session page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=session
Build urldetail page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=urldetail
Build urlentry page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=urlentry
Build urlexit page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=urlexit
Build osdetail page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=osdetail
Build unknownos page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=unknownos
Build browserdetail page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=browserdetail
Build unknownbrowser page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=unknownbrowser
Build downloads page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=downloads
Build refererse page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=refererse
Build refererpages page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=refererpages
Build keyphrases page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=keyphrases
Build keywords page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=keywords
Build errors400 page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=errors400
Build errors403 page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=errors403
Build errors404 page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=nmtui.com -staticlinks -lang=cn -output=errors404
23 files built.
Main HTML page is 'awstats.nmtui.com.html'.

修改nginx配置(修改完成后重新加载nginx配置文件):

[root@clsn nginx]# cat   awstats.nmtui.com.conf
server
{
    listen 80;
    server_name awstats.nmtui.com;
    index awstats.nmtui.com.html;
    root /www/wwwroot/awstats/;
    access_log  /www/wwwlogs/awstats.nmtui.com.log;
    error_log  /www/wwwlogs/awstats.nmtui.com-error.log;
}
[root@clsn nginx]# /etc/init.d/nginx  reload

3.4添加定时任务

# 添加定时任务,定时更新awstats分析日志

4.安全加固

4.1使用htpasswd生成加密密码

[root@clsn nginx]# yum install httpd-tools -y
[root@clsn nginx]# htpasswd  -c /usr/local/awstats/wwwroot/nmtui.passwd nmtui
New password:
Re-type new password:
Adding password for user nmtui
[root@clsn nginx]# chown www.www  /usr/local/awstats/wwwroot/nmtui.passwd
[root@clsn nginx]# chmod 600  /usr/local/awstats/wwwroot/nmtui.passwd

4.2添加web访问认证

[root@clsn nginx]# vim  awstats.nmtui.com.conf
server
{
    listen 80;
    server_name awstats.nmtui.com;
    index awstats.nmtui.com.html;
    root /www/wwwroot/awstats/;
    auth_basic "clsn training";
    auth_basic_user_file /usr/local/awstats/wwwroot/nmtui.passwd;
    access_log  /www/wwwlogs/301-clsn.io.log;
    error_log  /www/wwwlogs/301-clsn.io-error.log;
}
[root@clsn nginx]# /etc/init.d/nginx  reload

5.查看分析日志

5.1安全加固生效

5.2 分析日志显示正常

6.参考文献

  • https://awstats.sourceforge.io/docs
  • https://www.cnblogs.com/weiji100/p/3845255.html
  • https://www.cnblogs.com/liangml/p/6421426.html
  • http://clsn.io/clsn-ops/ops-linux/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

【作者投稿】MITMF安装与使用

MITMF其实就是一个基于python编写的中间人攻击的框架,就好比metaspoit一样,无比强大且但十分易用。下面笔者就给大家介绍一下它有哪些用途,本文具有...

12600
来自专栏一枝花算不算浪漫

集群下session共享问题的解决方案.

858100
来自专栏Flutter入门到实战

开发工具总结(2)之全面总结Android Studio2.X的填坑指南

前言:好多 Android 开发者都在说Android Studio太坑了,老是出错,导致开发进度变慢,出错了又不知道怎么办,网上去查各种解决方案五花八门,有些...

19310
来自专栏颇忒脱的技术博客

远程Debug Java进程的方法

远程debug的意思是启动一个Java进程,启动一个debugger进程,将两者连接起来,利用debugger来debug Java进程。

22220
来自专栏编程

深入理解RPC之传输篇

RPC 被称为“远程过程调用”,表明了一个方法调用会跨越网络,跨越进程,所以传输层是不可或缺的。一说到网络传输,一堆名词就蹦了出来:TCP、UDP、HTTP,同...

29170
来自专栏拭心的安卓进阶之路

Android 进阶13:几种进程通信方式的对比总结

不花时间打基础,你将会花更多时间解决那些不必要的问题。 RPC 是什么 RPC 即 Remote Procedure Call (远程过程调用) 是一种计算机通...

35550
来自专栏SpringBoot 核心技术

SpringCloud组件:Eureka服务注册中心内置的REST节点列表

你有没有考虑过Eureka Client与Eureka Server是通过什么方式进行通讯的? 为什么Client启动成功后Server就会被注册到Serve...

92920
来自专栏北京马哥教育

搭建高性能的 Django 服务器栈

本文针对裸机 Linux 搭建 Django 的服务器栈,可直接应用在Linode等VPS上。 Linux:Ubuntu 12.04 + ,其他版本类似 说明:...

43870
来自专栏小白安全

SQLMAP命令中文注释

sqlmap常用命令大全 sqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap...

32750
来自专栏行者常至

idea Java 代码编写规范

14100

扫码关注云+社区

领取腾讯云代金券