Nginx 訪問日志分析工具 GoAccess 使用簡單教程

教程 shanhuhai 7756℃ 0評論

正常運行的網站如果發生崩潰,一般都是由于某些事件導致流量劇增,服務器無法承受導致的。這時候首先要通過 Nginx的訪問日志來確認下是那個請求接口流量過高,這時候就用到了 GoAccess。

GoAccess 是一款 Nginx 訪問日志分析工具,通過 GoAccess 分析 Nginx 訪問日志生成的報表可以幫助我們找到網站高峰的訪問時段,找到請求量最高的接口,從而著手進行優化處理。

安裝 GoAccess

下面就來講下如何使用 GoAccess,go access 安裝很簡單,
如果是 Mac os 可以直接通過 brew install goaccess安裝。
如果是 Centos 系統可以執行 yum -y install goaccess 安裝。
各系統下的安裝方法參考: GoAccess 下載安裝

使用 GoAccess

假如我已經從服務器拿到了一個 Nginx 訪問日志文件 access.log,

可以執行以下命令生成分析報表:

goaccess  -f  access.log -o  result.html
  • -f: 指定日志文件
  • -o: 指定報表路徑

執行此命令會默認讀取/usr/local/Cellar/goaccess/1.2/etc/goaccess.conf, Mac os 下默認文件在此路徑,其他操作系統各不相同,

執行以上命令默認一般會報錯:

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

提示沒有 time format, 即我們需要配置日志的時間格式,

打開默認的配置文件 goaccess.conf, 開啟這兩個配置:

time-format %H:%M:%S
date-format %d/%b/%Y

以上配置分別配置了 access.log 中請求時間所用的時間格式和日期格式。

修改保存后重新執行 goaccess -f access.log -o result.html, 用瀏覽器打開 result.html, 我們便得到了分析結果:

“Request Files” 顯示了請求地址的訪問量排名,一般都是訪問量最高的地址導致的系統崩潰:

goaccess 報表

“Time Distribution” 可以看到不同時間端的請求量分布:

goaccess 報表時間分布

如何根據時間切割日志?

另外如果想只分析 access log 中指定時段的訪問日志,可以將指定時段的日志單獨提取到一個文件中,再用 GoAccess 進行分析:

sed -n "/31\/May\/2018:09:00:00/,/31\/May\/2018:11:00:00/"p access.log > access1.log  

以上命令表示將 5.31 日 9點到 11 點的請求日志提取到 access1.log

轉載請注明:大后端 » Nginx 訪問日志分析工具 GoAccess 使用簡單教程

喜歡 (2)or分享 (0)
發表我的評論
取消評論

表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
春梓美 种子,av全裸挂历,日本女护士mm裸照写真,超碰地址发布页 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>