nginx日志分析工具goaccess

GoAccess 是一款开源的网站日志实时分析工具。GoAccess 的工作方式很容易理解,就是读取和解析 Apache/Nginx/Lighttpd 的访问日志文件 access log,然后以更友好的方式把统计信息显示出来。统计的内容包括:访问概况、动态页面请求、静态页面请求(如图片、样式表、脚本等)、访客排名,访客使用的操作系统,访客使用的浏览器,来路域名,404 错误,搜索爬虫,搜索关键词等等。

安装组件

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

下载源码包安装

wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz

tar zxvf goaccess-0.8.5.tar.gz -C /usr/src/

cd /usr/src/goaccess-0.8.5/

./configure --prefix=/usr/local/goaccess

make && make install

下载文件

cd /usr/local/goaccess/

wget -O goaccessrc https://raw.githubusercontent.com/allinurl/goaccess/master/config/goaccess.conf --no-check-certificate

编辑文件

vim goaccessrc

去除下面22,33行的注释,增加235行的注释

22 date-format %d/%b/%Y

33 log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

235 #ignore-panel KEYPHRASES

创建网页目录

mkdir html

生成网页报告

/usr/local/goaccess/bin/goaccess -f /usr/local/nginx/logs/access.log -d -a -p /usr/local/goaccess/goaccessrc > /usr/local/goaccess/html/access.html

Nginx发布goaccess网页

cd /usr/local/nginx/conf/vhosts/

vi goaccess.conf

server {

listen 80;

server_name goaccess.xx.com;

autoindex on;

location / {

root   /usr/local/goaccess/html;

}

}

重新加载

/usr/local/nginx/sbin/nginx -s reload

访问网页

http://goaccess.xx.com/access.html

下面介绍nginx日志切割和自动生成网页报告以及汉化。

vi nginx_cut.sh

#!/bin/bash

#############日志切割###########################

time=`date -d today +%Y%m%d%H%M`

/usr/local/nginx/sbin/nginx -s stop

cd /usr/local/nginx/logs

mv access.log access_$time.log

mv error.log error_$time.log

/usr/local/nginx/sbin/nginx

#删除超过7天的日志文件

find /usr/local/nginx/logs -ctime 3 -type f -name "*.log" -exec rm {} \;

#自动生成网页报告

/usr/local/goaccess/bin/goaccess -f access_$time.log -d -a -p /usr/local/goaccess/goaccessrc > /usr/local/goaccess/html/access_$time.html

#自动汉化网页报告文件

echo access_$time.html > /tmp/time.log

/manage/hanhua.sh

#删除超过7天的报告文件

find /usr/local/goaccess/html -ctime 7 -type f -name "*.html" -exec rm {} \;

编辑汉化脚本,英文翻译参考百度翻译,可能不太准确。

vi /manage/hanhua.sh

#/bin/bash

file=`cat /tmp/time.log`

cd /usr/local/goaccess/html

sed -i ‘s/Overall/整体/g‘ $file

sed -i ‘s/Unique visitors/独立访客/g‘ $file

sed -i ‘s/Requested files/请求的文件/g‘ $file

sed -i ‘s/Requested static files/请求的静态文件/g‘ $file

sed -i ‘s/Not found URLs/没有找到网址/g‘ $file

sed -i ‘s/Hosts/主机/g‘ $file

sed -i ‘s/Operating Systems/操作系统/g‘ $file

sed -i ‘s/Browsers/浏览器/g‘ $file

sed -i ‘s/Referrers URLs/反向链接的url/g‘ $file

sed -i ‘s/Referring sites/参考网站/g‘ $file

sed -i ‘s/Keyphrases/关键词/g‘ $file

sed -i ‘s/Status codes/状态码/g‘ $file

sed -i ‘s/Generated by/生成的/g‘ $file

sed -i ‘s/Dashboard/仪表板/g‘ $file

sed -i ‘s/Analyzed Requests/分析请求/g‘ $file

sed -i ‘s/Total Requests/总请求/g‘ $file

sed -i ‘s/Failed Requests/请求失败/g‘ $file

sed -i ‘s/Generation Time/生成时间/g‘ $file

sed -i ‘s/Unique Visitors/独立访客/g‘ $file

sed -i ‘s/Unique Files/独特的文件/g‘ $file

sed -i ‘s/Excl. IP Hits/除外的IP点击/g‘ $file

sed -i ‘s/Referrers/反向链接/g‘ $file

sed -i ‘s/Unique 404/独特的404/g‘ $file

sed -i ‘s/Static Files/静态文件/g‘ $file

sed -i ‘s/Log Size/日志大小/g‘ $file

sed -i ‘s/Bandwidth/带宽/g‘ $file

sed -i ‘s/per day/每一天/g‘ $file

sed -i ‘s/Including spiders/包括蜘蛛/g‘ $file

sed -i ‘s/Hits having the same IP/具有相同的IP点击/g‘ $file

sed -i ‘s/date and agent are a unique visit/日期和代理是一种独特的访问/g‘ $file

sed -i ‘s/Top Requested Files sorted by hits/请求的文件按点击顶部/g‘ $file

sed -i ‘s/time served/时间送达/g‘ $file

sed -i ‘s/protocol/协议/g‘ $file

sed -i ‘s/method/方法/g‘ $file

sed -i ‘s/Hits/点击/g‘ $file

sed -i ‘s/Protocol/协议/g‘ $file

sed -i ‘s/Method/方法/g‘ $file

sed -i ‘s/Top 404 Not Found URLs sorted by hits/前404没有找到网址按点击率排序/g‘ $file

sed -i ‘s/Top/前/g‘ $file

sed -i ‘s/sorted by hits/按点击率/g‘ $file

sed -i ‘s/bandwidth/带宽/g‘ $file

sed -i ‘s/Hostname/主机名/g‘ $file

sed -i ‘s/sorted by unique visitors/通过独特的访客排序/g‘ $file

sed -i ‘s/Requested/要求/g‘ $file

sed -i ‘s/Status Codes/状态码/g‘ $file

sed -i ‘s/Code/代码/g‘ $file

sed -i ‘s/Visitors/游客/g‘ $file

sed -i ‘s/Name/名称/g‘ $file

sed -i ‘s/Not Found URLs/没有找到网址/g‘ $file

sed -i ‘s/or service not known/或服务不知道/g‘ $file

sed -i ‘s/Pages/页面/g‘ $file

sed -i ‘s/Referring Sites/参考网站/g‘ $file

访问网页

http://goaccess.xx.com/

点击网页文件

汉化之后的页面效果如下:

时间: 2024-07-31 10:10:27

nginx日志分析工具goaccess的相关文章

nginx 日志分析工具–GoAccess

需要安装 GeoIP, ncurses, glib2, 一句搞定 yum -y install glib2 glib2-devel ncurses ncurses-devel geoIP geoIP-devel 如果你是centos,使用yum: yum install goaccess 3   vim  /etc/goaccess.conf 添加一下内容:        time-format %T        date-format %d/%b/%Y        log-format %

nginx日志分析利器GoAccess(转)

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

nginx日志分析利器GoAccess

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

Goaccess---良心nginx日志分析工具

Goaccess是一个非常良心的开源软件,它的良心之处体现在如下方面: 1)安装简单: 2)操作容易: 3)界面酷炫: 安装Goaccess十分的简单,在centos里直接#yum install goaccess,如果yum源里没有goaccess,可以先安装epel.安装epel的方法如下: wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://rpms.famil

日志分析工具——goaccess

每天把日志分析结果通过邮件发送给boss和研发,是不是省去自己写脚本的时间了? 下面是goaccess安装步骤,我也是从其他地方抓取的,安装很简单,网上一搜一大把 安装GoAccess RedHat或centos,使用yum: yum install goaccess GoAccess有两种使用方法,一种是直接在控制台显示和操作. 当你要立马分析出今天早上10点到12点的IP访问情况的时候,直接在控制台敲命令是最快的. 另外一种就是生成html文件或者数据文件. 如果你希望每天管理的服务器集群能

网站日志实时分析工具GoAccess使用

网站日志实时分析工具GoAccess使用 系统环境CentOS release 5.5 (Final) GoAccess是一款开源的网站日志实时分析工具. GoAccess 的工作方式就是读取和解析 Apache/Nginx/Lighttpd 的访问日志文件 access log,然后以更友好的方式把统计信息显示出来.统计的内容包括:访问概况.动态页面请求.静态页面请求(如图片.样式表.脚本等).访客排名,访客使用的操作系统,访客使用的浏览器,来路域名,404 错误,搜索爬虫,搜索关键词等等.

GoAccess日志分析工具使用文档

----Sevck 2016/3/4 17:24:13 #1软件说明: GoAccess是一款开源.实时,运行在命令行终端下的web日志分析工具.该工具提供快速.多样的HTTP状态统计,可以令管理员不再纠结于统计各类数据,和繁杂的指令以及一大堆管道/正则表达式说byebye.据GoAccess官方的说法:使用AMD Sempron 2.31GHz的CPU+2GB内存,开启GoAccess所有功能,该软件每秒可以处理10万行日志.当然,如果使用的CPU更强劲,拥有更多的内存,GoAccess的表现

Linux------------GoAccess-可视化WEB日志分析工具

目录 一.GoAccess简介 1.1 存储方式 1.2 编译配置参数 1.2 使用选项 1.21 日志/日期/时间 格式 1.22 用户交互选项 1.23 服务器选项 1.24 FILE OPTIONS 1.25 解析选项 1.26 地理位置选项 1.27 其他选项 1.28 磁盘存储选项 1.3 自定义日志/日期格式 1.31 自定义示例 1.4 使用示例 1.41 不同的输出 1.42多日志文件 1.43 实时 HTML 输出 1.44 日期处理 1.45 虚拟主机 1.46 文件 & 状

基于SQL的日志分析工具myselect

基本介绍 程序开发人员经常要分析程序日志,包括自己打印的日志及使用的其它软件打印的日志,如php,nginx日志等,linux环境下分析日志有一些内置命令可以使用,如grep,sort,uniq,awk等,其中最强大的是awk,是作为一门小巧的文本处理语言存在的,但由于它是一门语言,功能强大,但在命令行下使用并不那么方便,因为awk是面向计算而不是面向统计的.awk可以定义变量,可以进行计算,命令行下就是一个包含隐式for循环的语言. awk如果很长时间不用,它的一些语法就忘了,要分析线上日志时