Webalizer安装与配置(解决中文图片乱码)

 Webalizer安装与配置(解决中文图片乱码)

 

百度名片:

webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进行浏览。Internet上的很多站点都使用webalizer进行web服务器日志分析。

搭建环境以及所需软件包:

                                系统为:cent os 5.5

                  Jpeg

                                Zlib

                                Libpng

                                Freetype字库

                                Gd

                                http服务 rpm包)

                                GeoIP-1.4.8.tar.gz     GeoIP库,用于解析IP地址所对应的国家列表

                                webalizer-2.23-05-src.tgz    webalizer主程序包

一、 搭建环境

Webalizer需要用到相关的jpegpngzlib库,这些库有部分是默认安装的,有些需要手动安装,安装的步骤不能颠倒,需要安装顺序安装。

可以下载源码包进行安装,步骤一般为:

# ./configure

# make

# make install

这里我用yum包安装,这样可以轻松解决依赖包问题,适用于新手。

1、  首先挂载光盘,记住自己挂载光盘的路径

# mount /dev/cdrom /mnt/cdrom/   这里我挂载到/mnt/cdrom的目录下

2、  修改yum配置文件

# vi /etc/yum.repos.d/CentOS-Media.repo        配置文件存放路径

[c5-media]

name=CentOS-$releasever - Media

baseurl=file:///media/CentOS/

        file:///mnt/cdrom/           将此处修改为光盘挂载路径

        file:///media/cdrecorder/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

保存退出、使用# yum list命令,查看yum包,如果yum制作成功则会列出列表。

3、  接下来安装我们所需要的一些库。

首先安装第一个jpeg库,

# yum install jpeg*     安装jpeg库命令,系统将自动安装

所有的库安装方法相同,可以安装顺序逐个安装。

4、  安装httpd服务

这里我们也可以利用yum包进行安装

# yum install httpd*

二、 安装webalizer

1)  安装GeoIP库,支持对国家的ip分析极其整理

# tar -zxmf GeoIP-1.4.8.tar.gz    解压源码包

# cd GeoIP-1.4.8  进入解压目录

# ./configure   进行编译前配置

# make            编译

# make install    安装

安装完成后,会在/usr/local/share/GeoIP/下生成一个GeoIP.dat文件

2)  编译汉化字体,支持中文输出

# tar -zxmf webalizer-2.23-05-src.tgz   解压webalizer

# cd webalizer-2.23-05   进入解压目录

# cd lang          进入语言目录

找到webalizer_lang.simplified_chinese  将文件格式转化为utf-8,可以借助外部工具,修改后放回即可。这里我使用EditPlus 3进行格式转换,大家可以去网上下载一些软件,将文件格式转换即可,如无需汉化,此步骤可略过。

# cd ..  返回上级目录

找一个中文字体,传到服务器上,比如/usr/share/fonts/chinese/TrueType/ukai.ttf,前提是服务器已经安装了gd,并且顺利支持freetype,这个在安装gd的时候可以看到是不是支持.我用的cent os 直接就支持中文,所以在此选用的系统自带的黑体

字体搜索方法:find / -name *.ttf  查找

# vi graphs.c     打开graphs.c  将下述代码添加里面,我添加再最后一行

void gdImageString(gdImagePtr im, gdFontPtr font, int x, int y, unsigned char *s, int color)

{

gdImageStringFT(im, 0 , color, "/usr/share/fonts/chinese/TrueType/ukai.ttf", 9 , 0.0, x, y+9, s);                // 注意这里修改成你自己字体路径

}

void gdImageStringUp(gdImagePtr im, gdFontPtr font, int x, int y, unsigned char *s, int color)

{

gdImageStringFT(im, 0 , color, "/usr/share/fonts/chinese/TrueType/ukai.ttf", 9 , -PI/2, x, y-9 , s);

}                           // 注意这里修改成你自己字体路径

这样汉化过程结束,我们开始正式安装webalizer

3)  安装webalizer

# ./configure --prefix=/usr/local/webalizer \    安装目录

> --enable-geoip \          启用geoip支持

> --with-geoip=/usr/local/include \         geoip路径

> --with-geoiplib=/usr/local/lib \           geoiplib库路径

> --with-language=simplified_chinese         支持中文简体

# make  编译  这里如果你系统的时钟不正确则会发出警告,检测到时钟错误,我们可以修改下时钟,然后继续进行。

修改时间方法:

# date 080410382011.10   顺序为:月日时分年.

然后再继续操作

# make install  安装

# cp sample.conf /etc/webalizer.conf   复制源码包实力文件,放入/etc下。如果不进行此步骤操作,则系统会自动调用默认的主配置文件。

4)   

三、 配置webalizer

1)  将日志导入系统中,这里我再服务器中拉入一些日志文件,放在/opt/

2)  修改主配置文件

# vi /etc/webalizer.conf

LogFile        /opt/access.tar.gz          指定日志文件位置,可以是压缩包

LogType clf           设置日志类型

OutputDir      /var/www/html/test   生成统计数据记录目录

HostName        test          统计网站名

GeoIP           yes       启用geoip功能

GeoIPDatabase   /usr/local/share/GeoIP/GeoIP.dat        指向geoipdatabase路径

保存退出

3)  建立生成数据记录的目录

# mkdir -p /var/www/html/test

4)  libGeoIP复制到/usr/lib下,要不然启动服务会报错。

# cp -d -p /usr/local/lib/libGeoIP* /usr/lib/

四、 启动服务,并测试

1)  创建脚本

# vi test.sh

#!/bin/sh

run=/usr/local/webalizer/bin/webalizer

$run -F clf -p -n ' ' -c '/etc/webalizer.conf'   各个参数的解释参考本文末尾。

2)  启动服务

[root@Rytong /]# . /test.sh

Webalizer V2.23-05 (Linux 2.6.18-92.el5 i686) Simplified Chinese

使用日志文件 /opt/access.tar.gz (gzip-clf)

Using GeoIP Country Edition (/usr/local/share/GeoIP/GeoIP.dat)

输出结果到 /var/www/html/test

产生报表的主机名是 'test'

没有找到历史信息文件...

没有找到上次运行的数据...

警告: 截断太长的 hostname

跳过错误记录 (1)

正在保存当前运行的数据... [07/15/2011 16:29:39]

正在生成报表 ----   七月 2011

正在保存历史信息文件...

正在生成综合报表

9185 条记录 (7 条被忽略, 1 条无效) 共用时 1 , 9185/sec

开启httpd服务,并在浏览器中访问统计页面

http://192.168.20.167/test

 

3)  访问结果:


访问首页。


查看每月的统计信息


查看国家统计信息。

五、 通过命令控制监控

上文是通过文件配置的,也可以通过命令行配置webalizer,需要了解配置文件使用方法的朋友可以参考README文件,里面有很详细的介绍。   可以执行webalizer –h得到所有命令行参数:

Usage: webalizer [options] [log file]

-h = 打印帮助信息

  -v -V = 打印版本信息

  -d = 打印附加调试信息

  -F type = 日志格式类型. type= (clf | ftp | squid)

  -i = 忽略历史文件

  -p = 保留状态 (递增模式)

  -q = 忽略消息信息

  -Q = 忽略所有信息

  -Y = 忽略国家图形

  -G = 忽略小时统计图形

  -H = 忽略小时统计信息

  -L = 忽略彩色图例

  -l num = 在图形中使用数字背景线

  -m num = 访问超时 (seconds)

  -T = 打印时间信息

  -c file = 指定配置文件

  -n name = 使用的主机名

  -o dir = 结果输出目录

  -t name = 指定报告题目上的主机名

  -a name = 隐藏用户代理名称

  -r name = 隐藏访问链接

  -s name = 隐藏客户

  -u name = 隐藏URL

  -x name = 使用文件扩展名

  -P name = 页面类型扩展名

  -I name = index别名

  -A num = 显示前几名客户类型

  -C num = 显示前几名国家

  -R num = 显示前几名链接

  -S num = 显示前几名客户

  -U num = 显示前几名URLs

  -e num = 显示前几名访问页面

  -E num = 显示前几名不存在的页面

  -X = 隐藏个别用户

  -D name = 使用dns缓存文件

-N num = DNS 进程数 (0=禁用dns)

 

 

 

本文所需软件包,极工具,如在网上搜索不到可以加本人QQ

QQ3619352

如本文有什么遗漏或不正确的地方,还望大家可以指出,我会改正的。

你可能感兴趣的:(centos,日志分析,Webalizer,geoip,日志监控)