Cách cài đặt GoAccess Log Analyzer trên Ubuntu 24.04

theanh

Administrator
Nhân viên
GoAccess là trình phân tích nhật ký web thời gian thực cho các hệ thống giống Unix, bao gồm Ubuntu. Nó cung cấp một cách hiệu quả và thân thiện với người dùng để trực quan hóa và phân tích nhật ký máy chủ web, hỗ trợ nhiều định dạng như nhật ký Apache, Nginx và Amazon S3. GoAccess có thể chạy trong thiết bị đầu cuối hoặc dưới dạng giao diện dựa trên web, cung cấp các báo cáo động với các số liệu cần thiết như số lượng khách truy cập, chi tiết yêu cầu, vị trí địa lý và các trang web giới thiệu. Nó được đánh giá cao vì tốc độ, tính tương tác và thông tin chi tiết toàn diện, khiến nó trở thành một công cụ có giá trị cho các quản trị viên hệ thống và nhà phát triển muốn theo dõi và tối ưu hóa hiệu suất máy chủ web trên các hệ thống Ubuntu.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt GoAccess Log Analyzer trên máy chủ Ubuntu 24.04.

Điều kiện tiên quyết​

Trước khi bắt đầu, hãy đảm bảo rằng bạn có những điều sau:
  • Máy chủ Ubuntu 24.04.
  • Người dùng không phải root có quyền quản trị viên.
  • Máy chủ web được cài đặt Apache/Nginx.

Cài đặt GoAccess bằng APT​

GoAccess Log Analyzer có thể được cài đặt theo hai cách khác nhau, thông qua trình quản lý gói và thủ công thông qua mã nguồn. Trong phần này, bạn sẽ tìm hiểu cách cài đặt GoAccess trên Ubuntu bằng trình quản lý gói APT.

Đầu tiên, hãy chạy lệnh sau để thêm khóa GPG cho kho lưu trữ GoAccess.
Mã:
wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
Thêm kho lưu trữ GoAccess cho bản phân phối dựa trên Ubuntu/Debian bằng lệnh bên dưới.
Mã:
echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
Tiếp theo, hãy chạy lệnh sau Lệnh 'apt' để cập nhật chỉ mục gói Ubuntu của bạn và cài đặt 'goaccess'. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo apt update && sudo apt install goaccess

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22417%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy định vị tệp nhị phân 'goaccess' và kiểm tra phiên bản 'goaccess' bằng sau đây:
Mã:
which goaccess
goaccess --version
Như bạn có thể thấy bên dưới, GoAccess1.9.3 được cài đặt tại '/usr/bin/goaccess'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22562%22%20height=%22339%22%3E%3C/svg%3E

Cài đặt GoAccess từ mã nguồn​

Nếu bạn muốn xây dựng GoAccess theo cách thủ công từ mã nguồn, bạn có thể sử dụng các bước sau:

Trước khi biên dịch GoAccess, hãy chạy lệnh 'apt' sau để cài đặt các gói phụ thuộc.
Mã:
sudo apt install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E


Truy cập trang tải xuống GoAccess, lấy liên kết cho phiên bản mới nhất, sau đó tải xuống mã nguồn GoAccess và giải nén bằng lệnh 'tar' bên dưới.
Mã:
wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz
tar -xzvf goaccess-1.9.3.tar.gz
Di chuyển đến thư mục 'goaccess-*' và cấu hình cài đặt của bạn bằng lệnh sau. Trong ví dụ này, bạn sẽ bật hỗ trợ GeoIP thông qua tệp cơ sở dữ liệu 'mmdb'.
Mã:
cd goaccess-*/
./configure --enable-utf8 --enable-geoip=mmdb

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22439%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh bên dưới để biên dịch GoAccess và cài đặt nó trên hệ thống của bạn. Sau khi thực thi, GoAccess sẽ được cài đặt tại '/usr/local/bin/goaccess' với thư mục cấu hình mặc định là '/usr/local/etc/goaccess'.
Mã:
sudo make && sudo make install

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22560%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh bên dưới để xác minh phiên bản GoAccess của bạn. Bạn có thể thấy bên dưới GoAccess 1.9.3 được cài đặt tại /usr/local/bin/goaccess.
Mã:
which goaccess
goaccess --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22697%22%20height=%22232%22%3E%3C/svg%3E

Tích hợp GoAccess với Cơ sở dữ liệu GeoIP​

GoAccess Log Analyzer hỗ trợ tích hợp GeoIP. Với tính năng này, bạn có thể hiển thị quốc gia gốc của khách truy cập. Trong phần này, bạn sẽ cấu hình GoAccess và tích hợp nó với tệp cơ sở dữ liệu GeoIP.

Đầu tiên, hãy truy cậphttps://db-ip.com/db/lite.php và lấy liên kết đến tệp cơ sở dữ liệu GeoIP và tải xuống bằng lệnh 'wget' bên dưới.
Mã:
wget https://download.db-ip.com/free/dbip-country-lite-2024-07.mmdb.gz
Giải nén tệp cơ sở dữ liệu GeoIP vào thư mục /opt/geoip bằng tiếp theo.
Mã:
gunzip dbip-country-lite-2024-07.mmdb.gz /opt/geoip/
Tiếp theo, chạy lệnh 'goaccess' bên dưới để định vị thư mục cấu hình mặc định. Nếu bạn đang cài đặt thông qua APT, thư mục GoAccess của bạn sẽ nằm trong thư mục '/etc/goaccess'. Nếu bạn đang biên dịch từ mã nguồn, thư mục GoAccess của bạn nằm ở thư mục '/usr/local/etc/goaccess'.
Mã:
goaccess --dcf
Bây giờ hãy mở tệp cấu hình GoAccess '/usr/local/etc/goaccess/goaccess.conf' bằng trình soạn thảo 'nano' sau lệnh.
Mã:
sudo nano /usr/local/etc/goaccess/goaccess.conf
Bỏ chú thích các dòng 'time-format' và 'date-format' như sau:
Mã:
# The following time format works with any of the
# Apache/NGINX's log formats are below.
#
time-format %H:%M:%S

# The following date format works with any of the
# Apache/NGINX's log formats are below.
#
date-format %d/%b/%Y
Trên tùy chọn 'log-format', hãy đổi thành 'COMBINED' cho Nginx/Apache thông thường nhật ký.
Mã:
log-format COMBINED

or

log-format VCOMBINED
log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
Bỏ ghi chú tùy chọn 'geoip' và thêm đường dẫn của tệp cơ sở dữ liệu GeoIP.
Mã:
geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.

Phân tích Nhật ký Apache/Nginx với GoAccess​

Bây giờ bạn đã cấu hình GoAccess và tích hợp nó với GeoIP. Ở bước tiếp theo, bạn sẽ học cách phân tích tệp nhật ký bằng GoAccess.

Để phân tích nhật ký bằng GoAccess, hãy chạy lệnh 'goaccess' bên dưới.
Mã:
goaccess access.log
Bạn có thể thấy đầu ra như sau:
  • Số lượt truy cập duy nhất mỗi ngày: danh sách số lượt truy cập duy nhất mỗi ngày.
  • Tệp được yêu cầu (URL): các tệp được yêu cầu nhiều nhất - đối với các tệp không tĩnh.
  • Yêu cầu tĩnh: liệt kê các yêu cầu đối với các tệp tĩnh như hình ảnh, CSS và JavaScript.
  • URL không tìm thấy (404s): lỗi không tìm thấy trang 404.
  • Tên máy chủ và IP của khách truy cập: danh sách tên máy chủ và địa chỉ IP của khách truy cập. Bạn có thể mở rộng để lấy thông tin như quốc gia, thành phố và rDNS.
  • Hệ điều hành: hiển thị hệ điều hành của khách truy cập.
  • Trình duyệt: hiển thị trình duyệt web của khách truy cập.
  • Phân phối thời gian: hiển thị báo cáo hàng giờ cho khách truy cập duy nhất, số lượt truy cập và băng thông đã sử dụng.
  • Máy chủ ảo: hiển thị nhật ký máy chủ ảo. Chỉ hoạt động khi bạn bật VCOMBINED hoặc '%s' trên tùy chọn 'log-format'.
  • URL giới thiệu: hiển thị người giới thiệu của khách truy cập.
Bạn cũng có thể sử dụng các phím sau để điều hướng qua GoAccess:
  • TAB để di chuyển về phía trước giữa các phần hoặc SHIFT+TAB để di chuyển về phía sau.
  • F5 để làm mới bảng điều khiển goaccess.
  • j để cuộn xuống và k để cuộn lên.
  • / để tìm kiếm một mẫu, sau đó nhập n để di chuyển.
  • q để thoát khỏi bảng điều khiển.
  • F1 hoặc h để hiển thị trợ giúp.
Dưới đây, bạn có thể thấy bảng điều khiển GoAccess mặc định:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22586%22%3E%3C/svg%3E


Với tích hợp GeoIP, bạn sẽ thấy phần 'Vị trí địa lý' như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22269%22%3E%3C/svg%3E

Tạo báo cáo bằng GoAccess​

Trong phần này, bạn sẽ tạo báo cáo nhật ký sang HTML, JSON và CSV bằng GoAccess Log Analyzer. Bạn cũng sẽ thiết lập trình phân tích nhật ký thời gian thực.

Để tạo báo cáo HTML cho GoAccess, hãy bao gồm tùy chọn '-o' theo sau là 'filename.html' như sau:
Mã:
goaccess access.log -o access-log.html
Bây giờ hãy sử dụng trình duyệt web của bạn và điều hướng đến tệp 'access-log.html'. Bạn sẽ thấy báo cáo GoAccess sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22390%22%3E%3C/svg%3E


Ngoài ra, bạn cũng có thể tạo báo cáo nhật ký ở định dạng JSON và CSV. Sử dụng lệnh 'goaccess' bên dưới.
Mã:
goaccess access.log -a -d -o access.json
goaccess access.log --no-csv-summary -o access.csv
Tiếp theo, bạn cũng có thể thiết lập giám sát nhật ký thời gian thực bằng lệnh 'goaccess' sau.
Mã:
goaccess access.log -o /var/www/html/reports.html --real-time-html
Bây giờ hãy điều hướng đến trang 'reports.html' bằng trình duyệt web và bạn sẽ thấy các báo cáo thời gian thực được tạo bởi GoAccess.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22363%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt GoAccess Log Analyzer trên máy chủ Ubuntu 24.04. Bạn đã học cách cài đặt GoAccess bằng APT và từ mã nguồn. Sau đó, bạn đã học cách phân tích tệp nhật ký bằng GoAccess, tạo báo cáo nhật ký ở nhiều định dạng như HTML, JSON và CSV. Cuối cùng, bạn đã thực hiện phân tích nhật ký thời gian thực bằng GoAccess.
 
Back
Bên trên