1. 程式人生 > >Goaccess自動分割nginx日誌

Goaccess自動分割nginx日誌

增加 介紹 sta 系統 博客 goaccess 時間 下載文件 spider

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
wKioL1VK-4iB_ZLQAAJI0SkVSms176.jpg

下面介紹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/
wKiom1VK-lTjIw3QAACuvyMOfEc868.jpg
點擊網頁文件
漢化之後的頁面效果如下:
wKioL1VK--uCJqyaAAHDhwfvtbU010.jpg
本文出自 “隕落星空” 博客,請務必保留此出處http://xiao987334176.blog.51cto.com/2202382/1643811

Goaccess自動分割nginx日誌