Theo dõi và phân tích nhật ký máy chủ web với trình phân tích nhật ký thời gian thực nguồn mở – GoAccess

Xử lý sự cố web rất thú vị và có thể gây phiền toái nếu bạn không được trang bị các công cụ phù hợp.

Nếu bạn đang hỗ trợ trang web lưu lượng truy cập lớn thì thường bạn cần phân tích và theo dõi nhật ký máy chủ web để biết hiệu suất & lập kế hoạch năng lực. Điều này rất cần thiết cho kỹ sư web.

Kiểm tra kích thước nhật ký nhỏ hơn một cách thủ công là được, nhưng nếu bạn có tệp lớn, thì thật vui khi đi qua hàng triệu dòng để tìm số liệu.

Đó là lý do tại sao bạn cần các công cụ để tạo điều kiện cho công việc quản trị viên và làm cho nó hiệu quả hơn.

GoAccess là một phân tích nhật ký nguồn mở nhẹ hỗ trợ nhiều định dạng nhật ký và có thể được sử dụng với bất kỳ điều nào sau đây.

  • Nginx
  • Apache HTTP
  • AWS ELB, S3, CloudFront
  • Lưu trữ đám mây của Google

Bạn có thể phân tích số liệu nào với GoAccess?

Gần như tất cả mọi thứ bạn chụp trong nhật ký. Để cho bạn một ý tưởng:

  • Thời gian được thực hiện để phục vụ yêu cầu
  • IP khách, DNS, máy chủ
  • Trình duyệt của khách truy cập & Chi tiết hệ điều hành
  • 404 không tìm thấy chi tiết
  • Yêu cầu hàng đầu / khách truy cập
  • Băng thông
  • Tệp tĩnh
  • Vị trí địa lý
  • Mã trạng thái
  • và hơn thế nữa..

Tìm kiếm các số liệu này để được theo dõi trang web của bạn?

Tốt!

Bạn có thể cài đặt hệ điều hành nào?

GoAccess chỉ có một phụ thuộc – ncurses. Nếu bạn có thể cài đặt, bạn có thể sử dụng bất kỳ HĐH nào.

Nó có sẵn trong gói phân phối cho:

  • Ubuntu
  • Debian
  • Fedora
  • CentOS
  • FreeBSD / OpenBSD
  • Đồ lót
  • Arch Linux
  • Gentoo
  • Hệ điều hành Mac
  • Windows thông qua Cygwin

Tuy nhiên, bạn cũng có thể xây dựng từ nguồn hoặc sử dụng với Docker.

Nếu bạn chưa quen với Docker, tôi khuyên bạn nên dùng cái này Docker Mastery khóa học.

Cài đặt GoAccess trên Ubuntu

  • Đăng nhập vào máy chủ Ubuntu với quyền root
  • Sử dụng apt-get để cài đặt như dưới đây

apt-get cài đặt goaccess

Dễ dàng.

Cài đặt trên CentOS

Đăng nhập vào máy chủ và thực hiện yumcommand

yum cài đặt goaccess

Cài đặt bằng Nguồn trên CentOS / Ubuntu

Yêu biên dịch từ nguồn?

Dưới đây là các bước.

  • Cài đặt các phụ thuộc sau nếu sử dụng CentOS

yum cài đặt gcc ncurses-devel glib2-devel Geoip-devel tokyocabinet-devel

  • Nếu sử dụng Ubuntu

apt-get cài đặt libncursesw5-dev libgeoip-dev thực hiện

  • Tải xuống gói mới nhất bằng wget

wget http://tar.goaccess.io/goaccess-1.2.tar.gz

  • Giải nén tập tin đã tải xuống

gunzip HP goaccess-1.2.tar.gz | tar xvf –

  • Chuyển đến thư mục mới được tạo, mà bạn nhận được sau khi giải nén

cd goaccess-1.2

  • Biên dịch với lệnh dưới đây

./ configure –enable-Geoip = legacy –enable-utf8
làm
cài đặt

Làm tốt, bạn đã cài đặt GoAccess và tất cả được thiết lập để phân tích nhật ký.

Xác minh cài đặt

Sau khi cài đặt, chỉ cần thực hiện goaccess trên dấu nhắc lệnh và nó sẽ in cách sử dụng như bên dưới.

[[email được bảo vệ] goaccess-1.2] # goaccess
GoAccess – 1.2
Cách sử dụng: goaccess [tên tệp] [tùy chọn …] [-c] [- M] [- H] [- q] [- d] […]
Các tùy chọn sau đây cũng có thể được cung cấp cho lệnh:
Đăng nhập & Tùy chọn định dạng ngày
  –định dạng ngày = – Chỉ định định dạng ngày đăng nhập. ví dụ:% d /% b /% Y
  –log-format = – Chỉ định định dạng nhật ký. Báo giá bên trong cần phải được
                                    thoát, hoặc sử dụng dấu ngoặc đơn.
  –time-format = – Chỉ định định dạng thời gian đăng nhập. ví dụ:% H:% M:% S
Tùy chọn giao diện người dùng
  -c –config-đàm thoại – Cửa sổ cấu hình nhật ký / ngày / thời gian.
  -i –hl-header – Bảng màu hoạt động nổi bật.
  -m –with-mouse – Kích hoạt hỗ trợ chuột trên bảng điều khiển chính.
  –màu = – Chỉ định màu tùy chỉnh. Xem trang này để biết thêm
                                    chi tiết và lựa chọn.
  –phối màu =<1 | 2 | 3>          – Lược đồ: 1 => Xám, 2 => Xanh lục, 3 => Monokai.
  –html-custom-css = – Chỉ định tệp CSS tùy chỉnh trong báo cáo HTML.
  –html-custom-js = – Chỉ định tệp JS tùy chỉnh trong báo cáo HTML.
  –html-prefs = – Đặt tùy chọn báo cáo HTML mặc định.
  –html-report-title = – Đặt tiêu đề và tiêu đề trang báo cáo HTML.
  –json-beautiful-print – Định dạng đầu ra JSON w / tab & dòng mới.
  –max-items – Số lượng mục tối đa để hiển thị trên mỗi bảng.
                                    Xem trang hướng dẫn giới hạn.
  –không màu – Tắt đầu ra màu.
  –tên không có cột – Không ghi tên cột trong đầu ra hạn.
  –no-csv-Tóm tắt – Vô hiệu hóa số liệu tóm tắt trên đầu ra CSV.
  –không tiến bộ – Vô hiệu hóa số liệu tiến độ.
  –no-tab-scroll – Vô hiệu hóa cuộn qua các bảng trên TAB.
  –no-html-last-update – Ẩn trường HTML được cập nhật lần cuối.
Tùy chọn máy chủ
  –addr = – Chỉ định địa chỉ IP để liên kết máy chủ với.
  –daemonize – Chạy dưới dạng daemon (nếu bật –real-time-html).
  –fifo-in = – Đường dẫn để đọc ống có tên (FIFO).
  –fifo-out = – Đường dẫn để viết ống có tên (FIFO).
  –origin = – Đảm bảo khách hàng gửi tiêu đề gốc được chỉ định
                                    khi bắt tay WebSocket.
  –port = – Chỉ định cổng sẽ sử dụng.
  –thời gian thực html – Kích hoạt đầu ra HTML thời gian thực.
  –ssl-cert = – Đường dẫn đến chứng chỉ TLS / SSL.
  –ssl-key = – Đường dẫn đến khóa riêng TLS / SSL.
  –ws-url = – URL mà máy chủ WebSocket phản hồi.
Tùy chọn tập tin
  –                               – Tệp nhật ký để phân tích cú pháp được đọc từ stdin.
  -f –log-file = – Đường dẫn đến tệp nhật ký đầu vào.
  -l –debug-file = – Gửi tất cả các thông báo gỡ lỗi đến chỉ định
                                    tập tin.
  -p –config-file = – Tệp cấu hình tùy chỉnh.
  –Yêu cầu không hợp lệ = – Đăng nhập yêu cầu không hợp lệ vào tệp được chỉ định.
  –no-global-config – Không tải tập tin cấu hình toàn cầu.
Tùy chọn phân tích cú pháp
  -một –agent-list – Cho phép danh sách các tác nhân người dùng theo máy chủ.
  -d –with-output-decver – Kích hoạt trình phân giải IP trên đầu ra HTML | JSON.
  -e –exclude-ip = – Loại trừ một hoặc nhiều IPv4 / 6. Cho phép IP
                                    phạm vi, ví dụ: 192.168.0.1-192.168.0.10
  -H –http-Protocol = – Đặt / hủy đặt giao thức yêu cầu HTTP nếu tìm thấy.
  -M –http-method = – Đặt / hủy phương thức yêu cầu HTTP nếu tìm thấy.
  -o –output = file.html | json | csv – Xuất ra tệp HTML, JSON hoặc tệp CSV.
  -q –no-query-string – Bỏ qua chuỗi truy vấn của request. Di chuyển cái
                                    chuỗi truy vấn có thể làm giảm đáng kể bộ nhớ
                                    tiêu dùng.
  -r –no-term-termver – Vô hiệu hóa trình phân giải IP trên đầu ra của thiết bị đầu cuối.
  –444-as-404 – Xử lý mã trạng thái không chuẩn 444 là 404.
  –4xx-to-unique-Count – Thêm 4xx lỗi máy khách cho khách truy cập duy nhất
                                    đếm.
  –all-static-files – Bao gồm các tệp tĩnh với chuỗi truy vấn.
  –chỉ thu thập thông tin – Phân tích cú pháp và chỉ hiển thị các trình thu thập thông tin.
  –date-spec = – Độ đặc hiệu của ngày. Các giá trị có thể có: `date`
                                    (mặc định) hoặc `hr`.
  –giải mã kép – Giải mã các giá trị được mã hóa kép.
  –enable-panel = – Cho phép phân tích cú pháp / hiển thị bảng đã cho.
  –giờ-spec = – Độ đặc hiệu giờ. Các giá trị có thể có: `hr`
                                    (mặc định) hoặc `min` (một phần mười của phút).
  –bỏ qua trình thu thập thông tin – Bỏ qua trình thu thập thông tin.
  –bỏ qua bảng điều khiển = – Bỏ qua phân tích cú pháp / hiển thị bảng đã cho.
  –bỏ qua người giới thiệu = – Bỏ qua người giới thiệu khỏi bị tính. Thẻ hoang dã
                                    được cho phép. tức là, * .bing.com
  –bỏ qua trạng thái = – Bỏ qua phân tích mã trạng thái đã cho.
  –num-tests = – Số dòng cần kiểm tra. >= 0 (10 mặc định)
  –process-and-exit – Phân tích cú pháp và thoát mà không xuất dữ liệu.
  –real-os – Hiển thị tên hệ điều hành thực. ví dụ: Windows XP, tuyết
                                    Báo.
  –bảng sắp xếp = PANEL, METRIC, ĐẶT HÀNG – Bảng sắp xếp trên tải ban đầu. Ví dụ:
                                    –bảng sắp xếp = VISITORS, BY_HITS, ASC. Xem
                                    manpage cho một danh sách các bảng / lĩnh vực.
  –tệp tĩnh = – Thêm phần mở rộng tệp tĩnh. ví dụ: .mp3.
                                    Phần mở rộng phân biệt chữ hoa chữ thường.
Tùy chọn GeoIP
  -g –std-Geoip – Cơ sở dữ liệu GeoIP tiêu chuẩn cho ít bộ nhớ hơn
                                  tiêu dùng.
  –Geoip-database = – Chỉ định đường dẫn đến tệp cơ sở dữ liệu GeoIP. I E.,
                                    GeoLiteCity.dat, GeoIPv6.dat …
Sự lựa chọn khác
  -h – trợ giúp – Trợ giúp này.
  -V –version – Hiển thị thông tin phiên bản và thoát.
  -s –st Storage – Hiển thị phương thức lưu trữ hiện tại. ví dụ: B+
                                    Cây, băm.
  –dcf – Hiển thị đường dẫn của cấu hình mặc định
                                    tập tin khi `-p` không được sử dụng.
Ví dụ có thể được tìm thấy bằng cách chạy `man goaccess`.
Để biết thêm chi tiết, hãy truy cập: http://goaccess.io
Bản quyền GoAccess (C) 2009-2016 của Gerardo Orellana
[[email được bảo vệ] goaccess-1.2] #

Phân tích Nginx & Apache với GoAccess

Một trong những cách nhanh nhất để phân tích access.log là sử dụng tham số-fparameter.

Ví dụ:

goaccess -f access.log

Ở trên, tôi đang hướng dẫn mở tệp access.log. Điều này sẽ cho bạn thấy bảng điều khiển tổng thể và 15 phần sau đây.

  • Khách truy cập duy nhất mỗi ngày
  • Yêu cầu tập tin
  • Yêu cầu tĩnh (phông chữ, hình ảnh, pdf, v.v.)
  • Không tìm thấy (404) yêu cầu
  • Khách truy cập IP / máy chủ chi tiết
  • Hệ điều hành khách truy cập
  • Chi tiết trình duyệt
  • Phân phối thời gian
  • Người giới thiệu
  • Mã trạng thái HTTP
  • Vị trí địa lý

Nếu tệp được chọn đang được cập nhật theo thời gian thực thì bạn sẽ thấy các số liệu được cập nhật trên thiết bị đầu cuối. Tại đây, bạn có thể xem qua các số liệu bạn cần phân tích.

Giám sát thời gian thực qua HTTP (s)

GoAccess cho phép bạn chuyển hướng đầu ra sang tệp HTML mà bạn có thể sử dụng làm giám sát thời gian thực. Điều này rất hữu ích khi bạn không muốn đăng nhập vào máy chủ mỗi khi bạn cần xác minh một số số liệu.

goaccess /var/log/nginx/access.log -o /var/www/geekflare.com/htdocs/real-time.html –log-format = COMBINED –real-time-html

Ở trên, tôi đang chuyển hướng đầu ra sang tệp real-time.html có sẵn trong htdocs. Vì nó htdocs, tôi có thể truy cập tệp này từ https://geekflare.com/real-time.html bất cứ khi nào tôi cần để xem số liệu.

Một bảng điều khiển đẹp!

Tuy nhiên, tôi đã thắng đề nghị làm theo cách này trong sản xuất. Tôi chắc chắn rằng bạn không muốn ai đó đọc nhật ký máy chủ web của bạn và bạn có thể muốn áp dụng các hạn chế sau.

  • Bảo vệ tập tin với người dùng và mật khẩu
  • Chỉ cho phép truy cập từ IP của bạn
  • Sử dụng URL khác với cổng tùy chỉnh và đặt nó phía sau tường lửa để chỉ IP / người dùng được phép mới có thể truy cập

GoAccess trông phân tích nhật ký nguồn mở mạnh mẽ. Nó nhẹ và MIỄN PHÍ vì vậy hãy tiếp tục và thử.

Bạn cũng có thể quan tâm để kiểm tra trình phân tích nhật ký dựa trên đám mây.

THẺ

  • Giám sát

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me