Log là gì trong tin học
I. Log là gì?
VD: Ý nghĩa một số file log thông dụng có mặc định trên /var/log
VD: Một số log thường gặp Log SSH: /var/log/secure[root@vqmanh ~]# tailf /var/log/secure | grep ssh Login thành công Sep 17 08:04:29 vqmanh sshd[10709]: Accepted password for vqmanh from 66.0.0.254 port 58710 ssh2 --------------- Login thất bại Sep 17 08:33:21 vqmanh sshd[11262]: Failed password for pak from 66.0.0.254 port 58954 ssh2 ----------------------- Login sai user Sep 17 10:40:37 vqm sshd[10668]: Invalid user vqmanh from 66.0.0.254 port 60347Access log Apache: [root@vqmanh httpd]# tailf /var/log/httpd/access_log 66.0.0.254 - - [17/Sep/2019:09:14:25 +0700] "GET / HTTP/1.1" 403 4897 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/80.0.182 Chrome/74.0.3729.182 Safari/537.36"Error log Apache:[root@vqmanh httpd]# tailf error_log [Tue Sep 17 09:13:20.343905 2019] [core:notice] [pid 11438] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0Log ghi lại những lần đăng nhập thành công:[root@vqmanh ~]# last -f /var/log/wtmp hoặc utmpdump /var/log/wtmp root pts/3 66.0.0.254 Tue Sep 17 08:24 still logged in vqmanh pts/1 66.0.0.254 Tue Sep 17 08:19 still logged in root pts/2 66.0.0.254 Tue Sep 17 08:13 still logged in vqmanh pts/1 66.0.0.254 Tue Sep 17 08:04 - 08:18 (00:14)Log ghi lại những lần đăng nhập thất bại:[root@vqmanh ~]# lastb -f /var/log/btmp | more pak ssh:notty 66.0.0.254 Tue Sep 17 08:33 - 08:33 (00:00)II. Tổng quan Syslog
1. Mục đích của SyslogSyslog được sử dụng như một tiêu chuẩn, chuyển tiếp và thu thập log được sử dụng trên một phiên bản Linux. Syslog xác định mức độ nghiêm trọng (severity levels) cũng như mức độ cơ sở (facility levels) giúp người dùng hiểu rõ hơn về nhật ký được sinh ra trên máy tính của họ. Log (nhật ký) có thể được phân tích và hiển thị trên các máy chủ được gọi là máy chủ Syslog. Giao thứcsyslog có những yếu tố sau:
2. Kiến trúc Syslog?Nguồn https://devconnected.comMột máy Linux độc lập hoạt động như một máy chủ máy chủ syslog của riêng mình. Nó tạo ra dữ liệu nhật ký, nó được thu thập bởi rsyslog và được lưu trữ ngay vào hệ thống tệp. Đây là một tập hợp các ví dụ kiến trúc xung quanh nguyên tắc này: 3. Định dạng tin nhắn Syslog?Định dạng nhật ký hệ thống được chia thành ba phần, độ dài một thông báo không được vượt quá 1024 bytes:
3.1 Cấp độ cơ sở Syslog (Syslog facility levels)?
Dưới đây là các cấp độ facility Syslog được mô tả trong bảng: 3.2 Mức độ cảnh báo của Syslog?
Dưới đây là các mức độ nghiêm trọng của syslog được mô tả trong bảng:
3.3 PRI?Đoạn PRI là phần đầu tiên mà bạn sẽ đọc trên một tin nhắn được định dạng syslog. PhầnPRIhayPrioritylà một số được đặt trong ngoặc nhọn, thể hiện cơ sở sinh ra log hoặc mức độ nghiêm trọng, là một số gồm 8 bit:
Vậy biết một sốPrioritythì làm thế nào để biết nguồn sinh log và mức độ nghiêm trọng của nó. Ta xét 1 ví dụ sau: Priority = 191 Lấy 191:8 = 23.875 -> Facility = 23 (local 7) -> Severity = 191 (23 * 8 ) = 7 (debug) 3.4 Header?Headerbao gồm:
4. Syslog gửi tin nhắn hoạt động như thế nào?Chuyển tiếp nhật ký hệ thống là gì?
Syslog có sử dụng TCP hoặc UDP không?
5. Quá trình phát triển?Syslog daemon: xuất bản năm 1980,syslog daemoncó lẽ là triển khai đầu tiên từng được thực hiện và chỉ hỗ trợ một bộ tính năng giới hạn (chẳng hạn như truyền UDP). Nó thường được gọi làdaemon sysklogdtrên Linux. Syslog-ng: xuất bản năm 1998,syslog-ngmở rộng tập hợp các khả năng của trình nềnsysloggốc bao gồm chuyển tiếp TCP (do đó nâng cao độ tin cậy), mã hóa TLS và bộ lọc dựa trên nội dung. Bạn cũng có thể lưu trữ log vào cơ sở dữ liệu trên local để phân tích thêm. Rsyslog The rocket-fast system for log processing được bắt đầu phát triển từ năm 2004 bởi Rainer Gerhardsrsysloglà một phần mềm mã nguồn mở sử dụng trên Linux dùng để chuyển tiếp các log message đến một địa chỉ trên mạng (log receiver, log server) Nó thực hiện giao thức syslog cơ bản, đặc biệt là sử dụng TCP cho việc truyền tải log từ client tới server. Hiện nayrsysloglà phần mềm được cài đặt sẵn trên hầu hết hệ thống Unix và các bản phân phối của Linux như : Fedora, openSUSE, Debian, Ubuntu, Red Hat Enterprise Linux, FreeBSD
Modules Rsyslog:Rsyslog có thiết kế kiểu mô-đun.Điều này cho phép chức năng được tải động từ các mô-đun, cũng có thể được viết bởi bất kỳ bên thứ ba nào.Bản thân Rsyslog cung cấp tất cả các chức năng không cốt lõi như các mô-đun.Do đó, ngày càng có nhiều mô-đun.Có 6 modules cơ bản:
Tìm hiểu file cấu hình rsyslog.confDưới đây là file cấu hình mặc định của file rsyslog.conf đã bỏ comment: Cơ bản trên file rsyslog.conf mặc định cho chúng ta thấy nơi lưu trữ các log tiến trình của hệ thống: authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uucp,news.crit /var/log/spooler local7.* /var/log/boot.logCấu hình trên được chia ra làm 2 trường:Trường 1: Trường Seletor
Trường 2: Trường Action
Đối với các dòng lệnh như sau:mail.info /var/log/maillogKhi đó lúc này bản tin log sẽ mail lại với mức cảnh báo từ info trở lên. Cụ thể là mức notice,warn, nếu bạn chỉ muốn nó log lại mail với mức là info bạn phải sử dụng như sau:mail.=info /var/log/maillog mail.*Lúc này kí tự * đại diên cho các mức cảnh báo. Lúc này nó sẽ lưu hết các level của mail vào trong thư mục. Tượng tự khi đặt *. thì lúc này nó sẽ log lại tất cả các tiến trình của hệ thống vào một file. Nếu bạn muốn log lại tiến trình của mail ngoại trừ mức info bạn có thể dùng kí tự ! VD:mail.!info *.info;mail.none;authpriv.none;cron.none /var/log/messagesLúc này tất các log từ info của tiến trình hệ thống sẽ được lưu vào trong file log messages nhưng đối với các log của mail, authpriv và cron sẽ không lưu vào trong messages. Đó là ý nghĩa của dòng mail.none;authpriv.none;cron.none III. Tổng quan về Log tập trung
Tại sao lại phải sử dụng log tập trung?
Ưu điểm:
Nhược điểm:
Tham khảo tiếp bài Lab cấu hình Log tập trung ĐÓ LÀ NHỮNG GÌ MÌNH TÌM HIỂU VỀ LOG. HY VỌNG NÓ SẼ GIÚP ÍCH CHO NHỮNG BẠN MỚI TÌM HIỂU VỀ LOG!!! |