📡 Linux Log 分析與視覺化:使用 GoAccess 解析 Web 流量
更新日期:2025 年 10 月 22 日 | 作者:WWFandy
💡 一、為什麼要做流量分析?
當你在維護網站或 Proxy Server 時,了解使用者的連線行為至關重要。 透過 GoAccess,我們能將 Nginx 或 Squid 的日誌轉化為圖表與統計報表, 幫助你快速掌握流量高峰、來源分佈與錯誤比例。
- 支援 即時更新(Web UI)
- 可解析 Nginx / Apache / Squid 等格式
- 生成 互動式 HTML 報表
- 整合 ELK / Grafana 進行深度分析
🧰 二、環境與安裝
1️⃣ 安裝 GoAccess
# CentOS / Rocky Linux sudo dnf install goaccess -y # Ubuntu / Debian sudo apt install goaccess -y
2️⃣ 確認日誌來源
以 Nginx 為例:
sudo cat /var/log/nginx/access.log | head -5
若是 Squid Proxy,可查看:
sudo cat /var/log/squid/access.log | head -5
🛠️ 三、快速生成報表
1️⃣ 生成互動式報表
sudo goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED --real-time-html
執行後可透過瀏覽器開啟:
http://你的伺服器IP/report.html
2️⃣ 監控實時流量
GoAccess 也能直接啟動 Web 伺服器:
goaccess /var/log/nginx/access.log --log-format=COMBINED --real-time-html -o report.html --ws-url=你的伺服器IP:7890
💡 若要長期使用,可將其加入 systemd 服務或使用 screen 背景執行。
📈 四、報表重點解讀
- 🌍 Visitors: 訪客來源與地區分佈
- 📂 Requested Files: 最常被訪問的頁面
- ⚙️ Static Resources: JS、CSS、圖片比例
- 🚫 HTTP Status: 錯誤分佈(404、500 等)
- ⏱️ Time Distribution: 高峰時段與流量趨勢
可搭配 🐧 Linux Proxy Server 教學, 分析內部網路使用行為。
🧩 五、整合 Zabbix 或 ELK
若你已架設 📈 Zabbix 監控平台, 可將 GoAccess 統計結果輸出 JSON 格式後,匯入 Zabbix Item 中建立圖表。 若需要更進階的分析,可搭配 ELK Stack(Elasticsearch + Logstash + Kibana)視覺化呈現。
🔗 延伸閱讀
- 🧱 Linux Proxy Server 流量記錄與可視化分析(GoAccess + ELK)
- 📈 Zabbix 快速上手:30 分鐘完成你的第一個監控平台
- 🧩 Linux LAMP 架構入門與網站部署指南
— WWFandy・Linux 系統與網路筆記
沒有留言: