0

[Docker] Phân tích LOGS Webserver dùng GOACCESS

Hello các bạn, hôm nay mình cùng tìm hiểu về phân tích LOGS Webserver dùng GOACCESS nhé!! 1.png

1. GoAccess là gì?

GoAccess là một công cụ phân tích log web server mã nguồn mở, hoạt động thời gian thực và được thiết kế để chạy trên dòng lệnh (terminal). Nó cực kỳ nhanh, nhẹ và dễ sử dụng, thường được dùng để phân tích log từ các web server như Nginx, Apache, hoặc Amazon S3.

  • Chạy bằng Terminal

1.png

  • Chạy bằng Broswer 2.png

2. GoAccess làm được gì?

  • Phân tích và hiển thị thống kê truy cập web: số lượng truy cập, URL phổ biến, trình duyệt, hệ điều hành, quốc gia,...

  • Hỗ trợ thời gian thực: có thể xem log cập nhật liên tục (real-time dashboard).

  • Xuất báo cáo ở nhiều định dạng: HTML, JSON, CSV, terminal dashboard.

  • Hỗ trợ GeoIP để xác định quốc gia truy cập.

  • Tích hợp tốt với hệ thống log chuẩn như combined, common, vhost,...

3. Về cách hoạt động

GoAccess đọc file log từ web server, parse dữ liệu, sau đó hiển thị thống kê phân tích ngay trên terminal hoặc tạo file HTML để xem bằng trình duyệt.

4. Cài đặt

4.1 Chuẩn bị môi trường.

Yêu cầu hệ thống bao gồm:

  • Hệ điều hành: Linux (Ubuntu, CentOS, hoặc Debian)
  • Docker: Phiên bản 20.10 trở lên
  • CPU & RAM: Tối thiểu 1 CPU và 2GB RAM

4.2 Cài đặt Docker

Bài viết này mình dùng Docker. Bạn có thể cài đặt Docker như sau hoặc tham khảo bài viết này

sudo apt-get update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

4.3 Cài đặt NPM và GoAccess

Các bạn có thể tải repo cài đặt tại đây. Sau khi tải về máy thì vào folder npm-goaccess

cd npm-goaccess
docker network create reverse_proxy
docker-compose up -d

image.png

image.png

Tiếp đến các bạn thiết lập và cấu hình Nginx Proxy Manager image.png

Sau đó map ứng dụng các bạn đang sử dụng, ở đây mình map cho chính ứng dụng GoAccess luôn. image.png Trong đó:

  • GoAccess đang expose port 7880
  • Thay IP localhost hoặc IP server proxy
  • Thay domain các bạn muốn dùng đã mua trên Godady, Inet...

Lưu ý: Domain đã point về IP public server Nginx Proxy

Truy cập vào domain GoAccess image.png

image.png

4.4 Bonus

Nếu muốn cài trên Ubuntu bằng Terminal bạn chạy câu lệnh sau

sudo apt update
sudo apt install goaccess

View logs

goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED

Trong đó:

/var/log/nginx/access.log: File log cần phân tích

-o report.html: Xuất báo cáo HTML

--log-format=COMBINED: Định dạng log. Phổ biến nhất là COMBINED

5. Tổng kết

GoAccess là công cụ tuyệt vời giúp phân tích logs hiệu quả. Bài viết này mình đã hướng dẫn bạn cài đặt và phân tích logs web server và Nginx Proxy Manager dùng GoAccess.

Hẹn gặp lại các bạn trong các bài viết tiếp theo.

Thân ái và quyết thắng 🥰🥰🥰 !

Follow các kênh mình chia sẻ

Vibo chia sẻ

Youtube

Blog chia sẻ

Các bạn tham khảo video:

Nguồn tham khảo

Github: https://github.com/allinurl/goaccess

GoAccess docs: https://goaccess.io/

GoAccess-install: https://github.com/kienle1819/kienletv/tree/main/npm-goaccess


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.