[Syslog] Phần 1 : Các khái niệm về Log trong Linux

1129

[Syslog] Phần 1 : Các khái niệm về Log trong Linux

 

Nhiều sự kiện xảy ra trên hệ thống Linux của bạn nên được log lại cho mục đích quản trị. Linux sử dụng hệ thống Syslog (rsyslog) để hiển thị và lưu thông tin miêu tả về các sự kiện này. Hệ thống này cho phép kiểm soát chặt chẽ logging của các messages từ kernel, từ các tiến trình đang chạy trên hệ thống, hoặc các hệ thống từ xa. Thông báo có thể hiển thị trên console, trong log files và trên màn hình text của người dùng trong hệ thống.

Sau đây là bốn khái niệm cơ bản về Syslog mà chúng ta cần hiểu :
Facility : facility giúp kiểm soát log đến dựa vào nguồn gốc được quy định như từ ứng dụng hay tiến trình nào. Syslog sử dụng facility để quy hoạch lại log như vậy có thể coi faicility là đại diện cho đối tượng tạo ra thông báo (kernel, process, apps,..).

Lấy một ví dụ: Bạn là người quản lý một tòa nhà. Một ngày bạn nhận được rất nhiều các video ghi lại từ các camera an ninh. Một câu hỏi được đưa ra là: có quá nhiều video đến, và làm thế nào để “quy hoạch” lại chúng ??

Facility” sẽ giúp bạn làm việc này, trước khi các video được chuyển đến cho bạn nó đã được “dán nhãn” trước (Floor1_video1; Floor1_video2; Floor3_video1…) và bạn chỉ việc đưa chúng vào các Thư mục tương ứng để tiện việc sử dụng.

Priority (level) : mức độ quan trọng của log message được chỉ định.
Selector : sự kết hợp giữa facilities và level (facility.level), tức khi một event xảy ra nó sẽ xem có match bất kì selector nào hay không, nếu có thì hành động (action) tương ứng khi cấu hình sẽ được thực thi. Chúng ta sẽ hiểu rõ hơn khi vào phần cấu hình syslog ở phần kế.
Action : đại diện cho địa chỉ của messages tương ứng với facility.level. action có thể là một tên file, một host name đứng trước ký tự @, hoặc một danh sách người dùng ngăn cách bằng dấu phảy, hoặc một dấu *.

Syslog Facilities
Các loại facility được sử dụng và quy định trong hệ thống Linux.
auth : sử dụng cho những sự kiện bảo mật, các hoạt động đòi hỏi user/password (getty, su, login).
authpriv : các thông báo liên quan đến kiểm soát truy cập và bảo mật.
console: Used to capture messages that would generally be directed to the system console
cron : cron là một tiện ích cho phép thực hiện các tác vụ một cách tự động theo định kỳ, ở chế độ nền của hệ thống.
daemon : sử dụng bởi các tiến trình hệ thống và các daemons khác (daemon là một chương trình hoạt động liên tục. daemon khác với các ứng trình bình thường ở chỗ, các ứng trình bình thường dừng lại sau khi hoàn tất một (hoặc một chuỗi) thao tác.
kern : các thông báo từ kernel.
ftp : log liên quan đến dịch vụ ftp.
mail : log liên quan đến hệ thống mail.
lpr : hệ thống in ấn.
mark : những thông báo được generated bởi bản thân syslogd.
news : hệ thống tin tức, liên quan đến giao thức Network News Protocol (nntp).
syslog : những thông báo được generated bởi bản thân syslogd.
user : thông báo về tiến trình người dùng thông thường.
uucp : hệ thống con UUCP. Unix-to-Unix là một tập hợp các chương trình mức thấp cho phép kết nối các máy UNIX với nhau.
local0 to local7 : dự trữ cho sử dụng nội bộ

Syslog Priorities
Các mức độ ưu tiên của syslog :
debug: các messages ở chế độ debug.
info: messages mang thông tin.
notice: messages mang tính chất thông báo.
warning (hoặc warn): messages cảnh báo.
err (hoặc error): messages lỗi.
crit: messages nguy hiểm.
alert: messages về các hành động phải được thực hiện ngay.
emerg (hoặc panic): messages khi hệ thống không thể dùng được nữa.

Ngoài ra còn một mức đặc biệt được gọi là none, mức này sẽ disable facility đi cùng. Level định nghĩa một số lượng các bản ghi chi tiết trong log file. Dấu sao [*] có thể được sử dụng để miêu tả cho tất cả các facilities hoặc tất cả các levels.

Bên cạnh đó chúng ta cũng nên biết là chỉ có 2 cách thức ghi log cơ bản như sau :
    [Program] –> [log_file]
    [Program] –> syslog –> [logfile]

– Chương trình đẩy log trực tiếp ra file nào mà nó muốn, thường admin viết shell script sẽ làm thế.
– Chương trình đẩy log sẽ thông qua dịch vụ syslog hệ thống để phân loại và chỉ định hành động.

Như vậy ta sẽ có sự kết hợp giữa các facilities và syslog priorities cho phép ta ghi nhận và theo dõi các thông tin liên quan như log này đến từ đâu và nó là loại log gì.

Ở phần kế chúng ta sẽ tìm hiểu về dịch vụ Log trong hệ thống Linux hiện tại là “rsyslogd”.

Kết thúc phần 1 về Syslog.

Đánh giá sao từ người đọc :
[ Tổng : 2 - Trung bình: 3 ]