最初的项目架构无类似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即可.