碳基体

奋斗在产品安全第一线的安全妹子

web日志分析工具-webzlier

最近在研究web服务器的一些东东,意外地发现了webzlier这款强大的日志分析工具。于是纪录一下安装与初步使用。


(p.s.本人简直是和开源工具八字不合,在安装的时候总会出现各种奇葩的问题,因此比较喜欢纪录解决这些问题的过程,比如说这次安装webzlier,最大的收获是知道了使用LD_DEBUG环境变量查找lib加载路径,同时希望能帮助到和我一样与开源工具不合拍的朋友们。)


一、安装
1. 安装依赖库
(1)libpng

apt-get install libpng*


(2)libgd
http://libgd.bitbucket.org/
(注:下载下来的是xz压缩包,第一次见到这种压缩格式的)

xz -d libgd-2.1.0.tar.xz
tar xvf libgd-2.1.0.tar
./configure
make
make install

2.安装webzlizer
http://www.webalizer.org/

./configure
make
make install


3.运行webzlier
(1)解决运行时报错
webzlizer
报错
webalizer: error while loading shared libraries: libgd.so.3: cannot open shared object file: No such file or directory

解决办法:
第一步:查找libgd.so.3的位置

find / -name libgd.so.3

我的电脑存放的地址是/usr/local/lib/libgd.so.3

第二步:检查webzlier运行时是在哪个路径查找这个lib的,使用LD_DEBUG环境变量查找lib加载路径
方法参考:http://tech110.blog.51cto.com/438717/388132,感谢zhangzj1030的分享

root@tanjiti:~/webalizer-2.23-05# LD_DEBUG=help ls 

Valid options for the LD_DEBUG environment variable are:   libs        display library search paths   reloc       display relocation processing   files       display progress for input file   symbols     display symbol table processing   bindings    display information about symbol binding   versions    display version dependencies   all         all previous options combined   statistics  display relocation statistics   unused      determined unused DSOs   help        display this help message and exit To direct the debugging output into a file instead of standard output a filename can be specified using the LD_DEBUG_OUTPUT environment variable. 


root@tanjiti:~/webalizer-2.23-05# LD_DEBUG=libs webalizer -h       

6683:     find library=libgd.so.3 [0]; searching       6683:     search cache=/etc/ld.so.cache       6683:     search path=/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu:/lib/tls/x86_64:/lib/tls:/lib/x86_64:/lib:/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/x86_64:/usr/lib          (system search path)       6683:       trying file=/lib/x86_64-linux-gnu/tls/x86_64/libgd.so.3       6683:       trying file=/lib/x86_64-linux-gnu/tls/libgd.so.3       6683:       trying file=/lib/x86_64-linux-gnu/x86_64/libgd.so.3       6683:       trying file=/lib/x86_64-linux-gnu/libgd.so.3       6683:       trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/libgd.so.3       6683:       trying file=/usr/lib/x86_64-linux-gnu/tls/libgd.so.3       6683:       trying file=/usr/lib/x86_64-linux-gnu/x86_64/libgd.so.3       6683:       trying file=/usr/lib/x86_64-linux-gnu/libgd.so.3       6683:       trying file=/lib/tls/x86_64/libgd.so.3       6683:       trying file=/lib/tls/libgd.so.3       6683:       trying file=/lib/x86_64/libgd.so.3       6683:       trying file=/lib/libgd.so.3       6683:       trying file=/usr/lib/tls/x86_64/libgd.so.3       6683:       trying file=/usr/lib/tls/libgd.so.3       6683:       trying file=/usr/lib/x86_64/libgd.so.3       6683:       trying file=/usr/lib/libgd.so.3       6683:     webalizer: error while loading shared libraries: libgd.so.3: cannot open shared object file: No such file or directory

第三步:建立软链接,指定webalizer运行时libgd.so.3的路径

ln -s /usr/local/lib/libgd.so.3 /usr/lib/libgd.so.3


二、简单使用
使用webalizer分析服务器日志

webalizer -F clf -p -n '' -t "tanjiti" -o ~/access/  /var/log/apache2/access.log 

来源:碳基体

评论