GoAccess 分析nginx 日志

来源:互联网 发布:淘宝上的华佗药房 编辑:程序博客网 时间:2024/05/22 01:33

1、安装GoAccess需要一些系统支持库

# yum -y install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel

由于Geo-IP库没有得到软件作者的更新,分析的IP地理位置不准确,所以需要安装外置ip库分析ip的城市位置

下载nali-0.2.tar.gz,百度云盘下载地址:http://pan.baidu.com/s/1eREVhYy
将下载的文件拷贝到服务器的目录:/usr/local

# cd /usr/local# tar zxvf nali-0.2.tar.gz# cd nali-0.2# ./configure# make && make install

分析IPd地址城市,外挂IP库:/usr/local/share/QQWry.Dat
需要定期更新ip库,更新命令:

# nali-update

或者在win7系统安装:纯真IP地址数据库,更新软件,将QQWry.Dat文件复制到服务 器/usr/local/share/目录下

编译安装GoAccess:

# cd /usr/local# wget http://tar.goaccess.io/goaccess-0.8.1.tar.gz# tar -xzvf goaccess-0.8.1.tar.gz# cd goaccess-0.8.1/# ./configure --enable-geoip --enable-utf8# make && make install

Centos服务器可以云安装:yum install goaccess


然后就可以开始使用GoAccess了。

首先,进入nginx的日志目录,如/var/log/nginx,输入如下命令让goaccess打开指定文件:

1
goaccess -f access.log
打开之后会跳出选择日志文件类型的界面:
这里写图片描述
Nginx日志是属于Combined Log Format (XLF/ELF)类型的,所以我们选择第三个。用上下光标移动,空格选中,回车确定。

进入了主界面:
这里写图片描述
键盘操作:

F1或h:帮助
F5 :刷新主界面
q:退出程序/当前窗口/折叠当前模块
o或Enter:展开选中的模块或窗口
0-9以及Shift + 0:将选中的模块或窗口激活
k和j:模块内部移动
c:修改配色
^f和^b:模块中上下滚屏
tab shift+tab:前后切换模块
s:模块内部排序选择
/:在所有模块中搜索(支持正则)
n:找到下个匹配
g和G:跳到第一项/

如果报错,则是nginx日志格式和Goaccess配置文件不同,修改配置文件

#vim /etc/goaccess.conf
#time-format %ftime-format %T#date-format %d/%b/%Ylog-format %h %^[%d:%^] "%r" %s %b "%R" "%u" %^# Squid native log format##time-format %s

更改为如上所示即可

使用GoAccess生成html报告
进入日志目录:

# cd /var/log/nginx/

如果日志未压缩:

#goaccess -f access.log.20161103 -a > index.html

如果日志压缩:

# zcat access.log.20161103.gz | goaccess -a >index.html

此时,就可以搭建php环境,将生成的html在网页上呈现:

Centos 7防火墙firewalld开放80端口:

# firewall-cmd --zone=public --add-port=80/tcp --permanent

平滑重启:

# firewall-cmd --reload

安装Apache

# yum -y install httpd

开启apache服务

# systemctl start httpd.service

设置apache服务开机启动

# systemctl enable httpd.service

验证apache服务是否安装成功
在浏览器输入:

http://ip

安装PHP

# yum -y install php

重启apache服务

# systemctl restart httpd

或者

# systemctl restart httpd.service

在apache2默认目录 /var/www/html
写个php文件

# vim /var/www/html/info.php
<?php phpinfo(); ?>

退出保存

再在浏览器中输入:

http://ip/info.php

mysql安装详见另篇博客

将PHP和MySQL关联起来

# yum -y install php-mysql

安装常用的PHP模块

# yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

重启apache服务

# systemctl restart httpd.service

【 LAMP一键安装:
不想折腾的,可以一键安装LAMP环境,详见另篇博客:Centos7安装zabbix监控

最后,可将Goaccess转化log日志生成的html文件放在目录/var/www/html中通过浏览器访问
博主做了日志模板:

登录页
这里写图片描述

nginx日志
这里写图片描述

IP城市分析
这里写图片描述

apache2日志
这里写图片描述

还有zabbix监控 、app接口访问请求分析等等。如果需要模板,博客留言邮箱,将会发附件给你们。

监控apache2日志:
则需要更改格式为 下面所示:

# vim /etc/goaccess.conf
# Google Cloud Storage or# The time in microseconds since the Unix epoch.##time-format %ftime-format %Tdate-format %d/%b/%Ylog-format %v:%p %h %^[%d:%^] "%r" %s %b "%R" "%u" %^# Squid native log format##time-format %s
0 0