Unix / Linux - Ghi 日志

Xin chào các nhà法师 Unix/Linux tương lai! Hôm nay, chúng ta sẽ khám phá thế giới kỳ thú của việc ghi日志 hệ thống. Đừng lo lắng nếu bạn mới làm quen với điều này - tôi sẽ là người bạn thân thiện dẫn đường cho bạn trong hành trình này, cũng như tôi đã làm cho hàng trăm sinh viên trong nhiều năm qua. Hãy bắt đầu nào!

Unix / Linux - System Logging

Ghi 日志 Hệ thống Là Gì?

Trước khi chúng ta đi sâu vào chi tiết, hãy hiểu về việc ghi日志 hệ thống. Hãy tưởng tượng bạn là một thám tử cố gắng giải quyết một vụ án bí ẩn trong máy tính của bạn. Các日志 hệ thống giống như cuốn sổ ghi chép đáng tin cậy của bạn, ghi lại mọi thứ xảy ra trong hệ thống của bạn. Đúng là rất thú vị phải không?

Tại Sao Nó Quan Trọng?

Ghi日志 hệ thống rất quan trọng để:

  1. Khắc phục sự cố
  2. Giám sát tình trạng hệ thống
  3. Phát hiện xâm nhập bảo mật
  4. Tuân thủ các quy định

Bây giờ chúng ta đã biết tại sao nó quan trọng, hãy cùng khám phá các thành phần của việc ghi日志 hệ thống.

Các Cơ Sở Syslog

Các cơ sở Syslog giống như các bộ phận khác nhau trong một công ty lớn. Mỗi bộ phận xử lý thông tin loại cụ thể. Dưới đây là bảng các cơ sở Syslog phổ biến:

Cơ sở Mô tả
auth Sự kiện xác thực và bảo mật
cron Trình điều khiển cron (các nhiệm vụ lịch trình)
daemon Các trình nền hệ thống khác nhau
kern Thông báo từ kernel
mail Hệ thống thư điện tử
user Thông báo mức người dùng

Ví dụ, nếu bạn thấy một mục日志 với "mail" jako cơ sở, bạn biết rằng nó liên quan đến hệ thống thư điện tử của bạn. Rất hữu ích phải không?

Mức Độ Quan Trọng Của Syslog

Không phải tất cả các日志 đều được tạo ra như nhau. Một số rất khẩn cấp hơn các số khác. Đó là lúc các mức độ quan trọng của Syslog介入. Hãy tưởng tượng chúng như các mức độ khẩn cấp của bệnh viện.

Dưới đây là bảng các mức độ quan trọng của Syslog, từ cao nhất đến thấp nhất:

Mức Độ Từ Khóa Mô tả
0 emerg Hệ thống không sử dụng được
1 alert Cần hành động ngay lập tức
2 crit Điều kiện quan trọng
3 err Điều kiện lỗi
4 warning Điều kiện cảnh báo
5 notice Điều kiện bình thường nhưng quan trọng
6 info Thông báo thông tin
7 debug Thông báo mức gỡ lỗi

Ví dụ, nếu hệ thống của bạn gặp sự kiện "crit" (quá quan trọng), đã đến lúc bạn đội mũ siêu anh hùng và cứu ngày!

Tệp /etc/syslog.conf

Bây giờ, hãy nói về người điều khiển đằng sau việc ghi日志 hệ thống: tệp /etc/syslog.conf. Tệp này giống như đạo diễn của một vở kịch, chỉ đạo từng diễn viên (log) đi đâu và làm gì.

Dưới đây là ví dụ về nội dung bạn có thể tìm thấy trong tệp này:

mail.*                  /var/log/mail
*.err                   /var/log/errors
kern.*                  /var/log/kernel

Giải thích:

  • mail.* có nghĩa là "tất cả các日志 cơ sở thư điện tử"
  • *.err có nghĩa là "tất cả các日志 mức lỗi từ bất kỳ cơ sở nào"
  • kern.* có nghĩa là "tất cả các日志 cơ sở kernel"

Phần sau dấu cách cho biết nơi các日志 này nên được lưu trữ. Đúng là rất thú vị phải không?

Các Hành Động Ghi 日志

Các hành động ghi日志 xác định điều gì sẽ xảy ra với các日志. Dưới đây là một số hành động phổ biến:

  1. Ghi日志 vào tệp: Logs được viết vào một tệp Ví dụ: mail.* /var/log/mail

  2. Ghi日志 vào ống dẫn có tên: Logs được gửi đến một ống dẫn có tên Ví dụ: mail.* |/usr/bin/mypipe

  3. Hiển thị trên console/terminal: Logs được hiển thị trên console Ví dụ: *.emerg *

  4. Gửi đến máy từ xa: Logs được gửi đến một máy khác Ví dụ: *.* @192.168.1.100

Lệnh logger

Lệnh logger giống như người đưa tin cá nhân của bạn cho hệ thống syslog. Bạn có thể sử dụng nó để tạo các mục日志 của riêng bạn. Dưới đây là cách thực hiện:

logger "Xin chào, syslog!"

Lệnh này sẽ tạo một mục日志 với thông điệp "Xin chào, syslog!". Bạn có thể kiểm tra nó trong /var/log/messages hoặc bất kỳ nơi nào hệ thống của bạn lưu trữ日志 người dùng.

Bạn cũng có thể chỉ định mức độ quan trọng:

logger -p user.err "Ồ, có điều gì đó đã sai!"

Lệnh này tạo một mục日志 mức lỗi trong cơ sở người dùng.

Xoay Tròn Logs

Hãy tưởng tượng nếu chúng ta chưa bao giờ dọn dẹp tủ quần áo - chúng sẽ rất nhanh đầy phải không? Cũng vậy với các tệp日志. Đó là lúc xoay tròn logs介入. Nó giống như một lần dọn dẹp mùa xuân cho các logs của bạn.

Xoay tròn logs thường:

  1. Đổi tên tệp日志 hiện tại
  2. Tạo một tệp日志 mới trống
  3. Nén các tệp日志 cũ
  4. Xóa các tệp日志 rất cũ

Dưới đây là một ví dụ đơn giản về cấu hình xoay tròn logs (/etc/logrotate.d/myapp):

/var/log/myapp.log {
weekly
rotate 4
compress
missingok
notifempty
}

Cấu hình này:

  • Xoay tròn log hàng tuần
  • Giữ 4 phiên bản cũ
  • Nén các logs cũ
  • Không phàn nàn nếu log bị thiếu
  • Không xoay tròn log trống

Các Vị Trí Logs Quan Trọng

Cuối cùng, hãy xem xét các vị trí của một số logs quan trọng. Đó giống như một bản đồ kho báu cho thông tin hệ thống!

Tệp Log Mô tả
/var/log/messages Thông báo hệ thống tổng quát
/var/log/auth.log Logs xác thực
/var/log/kern.log Logs kernel
/var/log/cron.log Logs công việc cron
/var/log/maillog Logs máy chủ thư điện tử
/var/log/apache2/error.log Logs lỗi Apache
/var/log/mysql/error.log Logs lỗi MySQL

Lưu ý rằng các vị trí này có thể thay đổi tùy thuộc vào bản phân phối Linux cụ thể của bạn.

Và thế là bạn đã hoàn thành một chuyến du lịch nhanh chóng qua việc ghi日志 hệ thống Unix/Linux. Từ việc hiểu logging là gì và tại sao nó quan trọng, đến việc khám phá các thành phần như cơ sở, mức độ quan trọng và xoay tròn logs, bạn现在已经装备好了开始你的系统日志冒险的知识。

Nhớ rằng cách tốt nhất để học là làm. Vậy đừng ngần ngại khám phá các logs của hệ thống, thử lệnh logger, và thậm chí thiết lập một số quy tắc ghi日志 tùy chỉnh. Chúc bạn may mắn và hệ thống của bạn luôn chạy mượt mà!

Credits: Image by storyset