使用GoAccess分析Nginx日志以及sed/awk手動(dòng)分析實(shí)踐

前言

使用Nginx的網(wǎng)站可能會(huì)遇到訪問(wèn)流量異常、被友情檢測(cè)、程序出現(xiàn)Bug等各種突然情況,這時(shí)大家的反應(yīng)想必都是第一時(shí)間分析日志,然后發(fā)現(xiàn)日志有幾十GB之多,又需要按照時(shí)間、錯(cuò)誤類型或者關(guān)鍵字段檢索信息時(shí)會(huì)不會(huì)有種醍醐灌頂、菊花一緊的錯(cuò)覺(jué)。文中介紹的方法不管是GoAccess還是sed/awk雖然可以解決一時(shí)的問(wèn)題但未必能夠治本,也許ELK(Logstash+ElasticSearch+Kibana)對(duì)我們大多數(shù)人來(lái)說(shuō)是更合理的集中化日志管理解決方案。

日志固然重要,但努力建設(shè)適合業(yè)務(wù)發(fā)展的集中化日志管理平臺(tái)才是基礎(chǔ)核心


更新歷史

2015年07月16日 - 初稿

閱讀原文 - http://wsgzao.github.io/post/goaccess/

擴(kuò)展閱讀

GoAccess - http://goaccess.io/
用GoAccess分析Nginx的日志 - http://www.fancycoding.com/log-analyse-using-goaccess/
sed 簡(jiǎn)明教程 - http://coolshell.cn/articles/9104.html
AWK 簡(jiǎn)明教程 - http://coolshell.cn/articles/9070.html


安裝GoAccess

各平臺(tái)都有灰常簡(jiǎn)單的部署方案 - http://goaccess.io/download

wget http://tar.goaccess.io/goaccess-0.9.2.tar.gz
tar -xzvf goaccess-0.9.2.tar.gz
cd goaccess-0.9.2/
./configure --enable-utf8
make
make install

使用方式

更多常見問(wèn)題請(qǐng)參考官方FAQ - http://goaccess.io/faq


#直接打開
goaccess -f access.log

#選擇日志格式
NCSA Combined Log Format

#剩下的操作都蠻簡(jiǎn)單的,參考擴(kuò)展閱讀和官方文檔吧

#導(dǎo)出HTML報(bào)告會(huì)遇到的問(wèn)題
goaccess -f time_access.log -a > report.html

GoAccess - version 0.9.2 - Jul 15 2015 16:23:20
Config file: /usr/local/etc/goaccess.conf

Fatal error has occurred
Error occured at: src/parser.c - verify_formats - 1691
No time format was found on your conf file.

#添加配置文件
vi ~/.goaccessrc

time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

#重新指定配置文件后執(zhí)行
goaccess -f time_access.log -p ~/.goaccessrc -a > report.html

使用bash/sed/awk手動(dòng)查找Nginx日志

更多技巧可以參考擴(kuò)展閱讀,Python的處理效率或者更優(yōu)

#按日期查找時(shí)間段
sed -n "/14\/Jul\/2015:00:00:00/,/15\/Jul\/2015:15:00:00/"p access.log > time_access.log

#查找504錯(cuò)誤的頁(yè)面和數(shù)量
awk '($9 ~ /504/)' time_access.log | awk '{print $7}' | sort | uniq -c | sort -rn > 504.log

#查找訪問(wèn)最多的20個(gè)IP及訪問(wèn)次數(shù)
awk '{print $1}' time_access.log | sort | uniq -c | sort -n -k 1 -r | head -n 20 > top.log

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容