最初的项目架构无类似awast的日志分析工具,临时内网搭建个webalizer配置简单,使用方便,拿来做一些服务器上下载下来的日志进行分析。

原理简介:webalizer基于C语言写的程序,支持标准的一般日志文件格式(Common Logfile Format);除此之外,也支持几种组合日志格式(Combined Logfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。现在webalizer已经可以支持wu-ftpd xferlog日志格式以及squid日志文件格式了。

安装:网上源码或rpm包常规安装省略。我的环境默认安装路径

#whereis webalizer
webalizer: /usr/bin/webalizer /etc/webalizer.conf /usr/share/man/man1/webalizer.1.gz

安装时如提醒所缺依赖包libpng*或gd*,可直接yum安装,可用mirrors.163.com的源还是很快的。

主要配置:

1.配置文件webalizer.conf.sample 模板直接cp一份/etc/webalizer.conf 配置内容如下:

LogFile       /163weblog/access_log.gz   更改要分析的日志文件路径
OutputDir      /var/www/usage      默认输出分析结果的路径
HistoryName     /var/lib/webalizer/webalizer.hist   默认分析的历史记录
Incremental     yes   每天分析结果存在,否则只为当时日志分析
IncrementalName /var/lib/webalizer/webalizer.current  与webalizer.hist类似,用于名称输出到特定目录的记录

其它具体参数按需求可查看官网说明

2.可写个脚本定时分析:

#!/bin/bash

/usr/local/bin/webalizer -c /etc/webalizer.conf -o /var/www/usage /163weblog/*.log.gz  指定配置文件,输出目录,需分析的日志路径,

相关路径配置文件中已定义,也可以无须跟参数直接默认运行webalizer -c进行日志分析输出结果.

我这里只是将各个服务器下载下来的日志放在不同目录中临时分析:
每次统计完进行下一个日志目录分析时,需删除前分析结果记录:

rm -rf /var/lib/webalizer/webzlizer.current

rm -rf /var/lib/webalizer/webalizer.hist

rm -rf /var/www/usage/*  删除前一日志分析结果。

更改配置文件/etc/webalizer.conf  更改要分析的日志路径:LogFile

3.由于webalizer默认分析结果输出路径/var/www/usage下,直接访问http://ip/usage即可.