Các hệ thống Unix có hệ thống ghi log rất mạnh và linh động, mà cho bạn khả năng để ghi lại hầu hết mọi thứ bạn có thể tưởng tượng và sau đó thao tác sự ghi log này để truy xét thông tin bạn yêu cầu.
Rất nhiều phiên bản của Unix cung cấp một phương tiện dễ dàng ghi log với mục đích chung gọi là syslog. Mỗi chương trình cần thông tin ghi log được gửi tới syslog.
syslog trong Unix là một host có thể định hình, là phương tiện ghi log hệ thống đồng dạng. Hệ thống sử dụng một tiến trình ghi log hệ thống trung tâm mà chạy chương trình /etc/syslogd hoặc /etc/syslog.
Hoạt động của hệ thống ghi log là không phức tạp. Các chương trình gửi cửa vào ghi log tới syslogd, mà tham vấn từ file định cấu hình /etc/syslogd.conf hoặc /etc/syslog và khi một kết nối được tìm thấy, nó ghi thông tin ghi log tới file ghi log đã yêu cầu.
Bảng dưới liệt kê 4 mục syslog cơ bản mà bạn nên hiểu:
Mục | Miêu tả |
---|---|
Facility (phương tiện) | Dấu hiệu nhận diện được sử dụng để miêu tả ứng dụng hoặc tiến trình mà đệ trình tới thông báo log. Các ví dụ là mail, kernel, và ftp. |
Priority (quyền ưu tiên) | Một chỉ dẫn quan trọng của thông báo. Các mức được xác định trong syslog như một guideline, từ việc chỉnh lỗi thông tin tới các sự kiện quan trọng. |
Selector (bộ chọn) | Một sự kết nối của một hoặc nhiều phương tiện và mức độ. Khi một sự kiện mới đến kết nối với một bộ chọn, một hành động được thực hiện. |
Action (hành động) | Điều gì xảy ra khi một thông tin mới đến kết nối với một bộ chọn. Các hành động có thể ghi thông tin tới file ghi log, phản xạ thông tin tới một bàn điều khiển hoặc thiết bị khác, ghi thông báo tới hệ thống ghi log của người sử dụng hoặc gửi thông báo cùng với máy chủ syslog khác. |
Dưới đây là các phương tiện có sẵn cho bộ chọn. Không phải tất cả các phương tiện có mặt trên tất cả các phiên bản của Unix.
Facility | Miêu tả |
---|---|
auth | Các hoạt động liên quan đến yêu cầu tên và mật khẩu (getty, su, login) |
authpriv | Tương tự như auth nhưng ghi log tới một file mà chỉ có thể được đọc bởi những người dùng được chọn. |
console | Sử dụng để bắt các thông báo mà thường trực tiếp gửi tới bàn điều khiển hệ thống. |
cron | Các thông báo từ người lập hệ thống cron. |
daemon | Hệ thống daemon nhận tất cả. |
ftp | Các thông báo liên quan đến hệ thống ftp deamon. |
kern | Các thông báo kernel. |
local0.local7 | Các phương tiện nội bộ được xác định cho mỗi site. |
lpr | Các thông báo từ dòng hệ thống in. |
Các thông báo liên quan tới hệ thống mail. | |
mark | Các sự kiện giả được sử dụng để tạo timestamp trong các file hệ thống. |
news | Các thông báo liên quan tới mạng lưới giao thức tin tức (network news protocol) |
ntp | Các thông báo liên quan đến giao thức thời gian mạng. |
user | Các tiến trình người dùng thông thường. |
uucp | Hệ thống phụ UUCP. |
Các quyền ưu tiên syslog được tổng hợp ở dưới bảng sau:
Quyền ưu tiên | Miêu tả |
---|---|
emerg | Tình trạng khẩn cấp, như một sự ngưng hoạt động hệ thống sắp xảy ra, thường được thông báo tới tất cả người dùng. |
alert | Tình trạng mà nên được chỉnh lại cho đúng ngay lập tức, như một dữ liệu hệ thống bị hư hỏng. |
crit | Tình trạng nghiêm trọng, như lỗi phần cứng. |
err | Các lỗi thông thường. |
warning | Cảnh báo. |
notice | Tình trạng mà không là lỗi, nhưng có lẽ nên được thực hiện theo một cách đặc biệt. |
info | Thông báo mang tính thông tin. |
debug | Các thông báo mà được sử dụng khi chỉnh lỗi các chương trình. |
none | Các mức giả tạo được sử dụng để xác định không log các thông báo. |
Sự kết nối của các phương tiện và các mức cho bạn khả năng để thấy rõ về những gì được ghi log và nơi mà các thông tin bắt nguồn.
Khi mỗi chương trình gửi các thông báo của nó một cách nghiêm túc tới hệ thống ghi log, trình ghi log tạo các quyết định về những gì để theo dõi nó và những gì để loại bỏ nó ở các mức được xác định trong bộ chọn.
Khi bạn xác định một mức, hệ thống sẽ theo dõi mọi thứ tại mức đó và cao hơn.
Tệp này điều khiển nơi các thông báo được log. Một tệp syslog.conf đặc trưng có thể trông giống như thế này:
*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice /var/log/messages
lpr.info /var/log/lpr.log
mail.* /var/log/mail.log
ftp.* /var/log/ftp.log
auth.* @prep.ai.mit.edu
auth.* root,amrood
netinfo.err /var/log/netinfo.log
install.* /var/log/install.log
*.emerg *
*.alert |program_name
mark.* /dev/console
Mỗi dòng của file chứa hai phần:
Dưới đây là các điểm đáng chú ý cho sự định cấu hình trên:
Trường hành động xác định một trong 5 hành động sau:
Unix cung cấp lệnh logger, mà là một lệnh thực sự hữu ích để giải quyết hệ thống ghi log. Lệnh logger gửi các thông báo ghi log tới syslogd deamon, và do đó kích thích hệ thống ghi log.
Điều này có nghĩa là chúng ta có thể kiểm tra từ dòng lệnh tại bất cứ thời gian nào. Lệnh logger cung cấp một phương thức để thêm cổng vào một dòng tới hệ thống ghi log file từ dòng lệnh.
Định dạng của lệnh là:
logger [-i] [-f file] [-p priority] [-t tag] [message]...
Dưới đây là chi tiết về các tham số.
Chức năng | Miêu tả |
---|---|
-f filename | Sử dụng nội dung của tên file như thông báo để log. |
-i | log ID tiến trình của tiến trình logger với mỗi dòng. |
-p priority | Nhập thông báo với quyền ưu tiên được xác định (lối vào bộ chọn được xác định); quyền ưu tiên thông báo có thể được xác định ở dạng số hoặc như là cặp phương thức.quyền ưu tiên. Quyền ưu tiên mặc định là user.notice. |
-t tag | Đánh dấu mỗi dòng được thêm tới hệ thống log với thẻ đã xác định. |
message | Các tham số chuỗi mà nội dung được kết nối cùng nhau theo thứ tự xác định, riêng rẽ bởi khoảng trống. |
Bạn có thể sử dụng trang Trang trợ giúp (Manpage Help) để kiểm tra cú pháp của các lệnh này.
Các log file có thiên hướng tăng lên rất nhanh và chiếm một khoảng lớn của không gian đĩa. Để cho phép khả năng luân phiên log, hầu hết phiên bản sử dụng các công cụ như newsyslog hoặc logrotate.
Những công cụ này nên được gọi trên một khoảng không gian thường xuyên bằng cách sử dụng cron deamon. Bạn truy cập vào chương Trang trợ giúp (Manpage Help) để biết thêm chi tiết về newsyslog hoặc logrotate.
Tất cả ứng dụng hệ thống tạo các tệp log trong /var/log và các thưc mục phụ của nó. Dưới đây là một số ứng dụng quan trọng và các thư mục log tương ứng của chúng.
Ứng dụng | Thư mục |
---|---|
httpd | /var/log/httpd |
samba | /var/log/samba |
cron | /var/log/ |
/var/log/ | |
mysql | /var/log/ |
Unpublished comment
Viết câu trả lời