Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Mac

Cách đọc hiểu file log trên Linux và Mac hiệu quả hơn

Khi Linux gặp sự cố, việc khắc phục có thể thành ác mộng. Thách thức gấp đôi khi lỗi xảy ra ngẫu nhiên, bạn không biết nguyên nhân.

Bạn có thể dành giờ liền múc tìm trên Stack Overflow, hỏi Reddit. Hoặc tự mình lặn lội vào file log hệ thống để tìm gốc rễ vấn đề.

File log là gì?

Nhiều chương trình — trên Windows, Mac, Linux — tạo file log khi chạy. Android cũng thế. Đây là file văn bản thuần túy chứa thông tin về hoạt động chương trình. Mỗi sự kiện trên một dòng, có dấu thời gian đến giây.

Mặc dù không đúng cho mọi ứng dụng, file log thường nằm trong thư mục /var/log.

Cách đọc hiểu file log trên Linux và Mac hiệu quả hơn

Đa số dữ liệu trong file log rất đơn điệu, không chỉ ra vấn đề. Chỉ là cập nhật việc chương trình làm gì tại thời điểm đó.

Nhưng khi có sự cố, chắc chắn thông tin sẽ nằm trong log. Dùng để khắc phục hoặc hỏi người am hiểu.

Vậy khi làm việc với file log, làm sao tách thông tin quan trọng khỏi phần rác?

Dùng công cụ Linux chuẩn

Như đã nói, file log không độc quyền nền tảng nào. Nhưng bài này tập trung Linux và OS X, vì cả hai đều có sẵn công cụ dòng lệnh UNIX cần thiết để phân tích log.

Vì log là file văn bản, bạn dùng bất kỳ công cụ xem file văn bản nào. Trong đó, grep khó học nhất nhưng hữu ích nhất. Cho phép tìm cụm từ, thuật ngữ trong file. Cú pháp: grep [từ_khóa] [tên_file].

Cách đọc hiểu file log trên Linux và Mac hiệu quả hơn

Ở mức nâng cao, dùng biểu thức chính quy (RegEx) tìm kiếm chính xác. RegEx trông như phép thuật nhưng thực tế dễ nắm bắt.

Còn lệnh head và tail. Tên nói lên tất cả: hiển thị 10 dòng đầu và 10 dòng cuối file. Muốn xem mục mới nhất trong log, chạy tail tên_file.

Cách đọc hiểu file log trên Linux và Mac hiệu quả hơn

Thay đổi số dòng hiển thị bằng cờ -n. Xem 20 dòng đầu: head -n 20 [tên_file].

Cách đọc hiểu file log trên Linux và Mac hiệu quả hơn

Muốn xem toàn bộ file, dùng cat. Nhưng log thường lên tới hàng trăm nghìn dòng, cat khá bất tiện. Hay hơn: pipe sang less để xem từng trang. Chạy:

cat [tên_file] | less
Cách đọc hiểu file log trên Linux và Mac hiệu quả hơn

Thay thế, dùng sed và awk — hai tiện ích cho phép viết script xử lý file văn bản. Chúng tôi đã viết về chúng năm trước.

Cuối cùng, nếu bạn tự tin, thử trình soạn thảo vim. Có nhiều lệnh tích hợp giúp phân tích log dễ dàng. Phiên bản 32-bit vim giới hạn file 2 GB, nhưng không khuyến khích dùng cho file quá lớn vì hiệu suất.

Dùng phần mềm quản lý log

Nếu trên nghe quá vất vả, hoặc bạn muốn công cụ trực quan hơn, hãy xem phần mềm quản lý log (thường nhầm lẫn với SIEM - Quản lý Thông tin và Sự kiện Bảo mật).

Ưu điểm: chúng làm phần lớn việc khó. Nhiều công cụ tự động phân tích log, phát hiện vấn đề. Cũng trực quan hóa log bằng biểu đồ, giúp hiểu độ tin cậy ứng dụng.

Một trong những công cụ nổi tiếng nhất là Splunk. Cho phép duyệt log qua giao diện web. Có ngôn ngữ xử lý tìm kiếm mạnh mẽ, cho phép đi sâu vào kết quả theo cách lập trình.

Splunk dùng bởi nhiều doanh nghiệp lớn. Có sẵn cho Mac, Windows, Linux. Có phiên bản miễn phí — Splunk Light — cho người dùng gia đình và doanh nghiệp nhỏ.

Phiên bản này chia sẻ nhiều tính năng với phiên bản doanh nghiệp. Duyệt log, giám sát file, cảnh báo khi có sự cố.

Tuy nhiên, Splunk Light có giới hạn hợp lý: dữ liệu tiêu thụ tối đa 500 MB/ngày. Nếu cần nhiều hơn, nâng cấp lên Splunk Light trả phí (20 GB/ngày). Thực tế hầu hết người dùng không tới mức đó.

Chỉ hỗ trợ 5 người dùng, đủ cho hầu hết, nhất là máy chủ web/file gia đình.

Splunk có phiên bản cloud, lý tưởng cho không muốn cài client hoặc có nhiều server từ xa. Nhược điểm: chi phí lớn. Gói rẻ nhất 125 USD/tháng.

Đó là số tiền không nhỏ.

Bạn xử lý file log như thế nào?

Chúng ta đã xem cách truy vấn log để tìm thông tin khắc phục sự cố, trực tiếp hoặc từ xa. Nhưng bạn có phương pháp tốt hơn không? Dùng phần mềm quản lý log hay công cụ Linux chuẩn?

Tôi muốn nghe ý kiến bạn. Hãy để lại bình luận nhé.