Mục lục
File log là gì?
File log là một tập hợp các bản ghi mà Linux duy trì để các sysadmin theo dõi các sự kiện, diển biết quan trọng. Các file log này sẽ chứa toàn bộ các thông báo về máy chủ, bao gồm cả kernel, dịch vụ và ứng dụng đang chạy trên hệ thống.
File log cung cấp đầy đủ thời gian diển biến các sự kiện của hệ điều hành, ứng dụng và hệ thống Linux dựa vào đó sẽ giúp cho quản trị viên hệ thống xác định được thời gian và lỗi để khắc phục sự cố.
Hệ điều hành Linux cung cấp một kho lưu trữ tập trung các file log trong thư mục /var/log.
Các file log được chia thành một trong bốn loại:
- Application Logs: Nhật ký ứng dụng
- Event Logs: Nhật ký sự kiện
- Service Logs: Nhật ký dịch vụ
- System Logs: Nhật ký hệ thống
Các file log quan trọng trong hệ thống
messages
File log này sẽ nằm tại /var/log/messages
[root@kblinux.com ~]# cat /var/log/messages hoặc [root@kblinux.com ~]# cat /var/log/syslog
Trong file log này sẽ chứa toàn bộ nhật ký hoạt động hệ thống (System Logs). Nó chủ yếu được sử dụng để lưu trữ các thông tin liên quan đến hệ thống.
Về cơ bản, file log này lưu trữ tất cả dữ liệu hoạt động trên toàn hệ thống như mail, cron, daemon, kern, auth,…
Khi chúng ta xem file log này chúng ta có thể theo dõi các lỗi khởi động trừ kernel, lỗi dịch vụ liên quan đến ứng dụng và các thông báo được ghi lại trong quá trình khởi động hệ thống.
Đây là file log đầu tiên mà các quản trị viên Linux nên kiểm tra nếu có sự cố trên hệ thống.
Lưu ý: Các bản phân phối Linux thuộc họ Redhat, như CentOS hoặc RHEL được lưu trữ trong /var/log/message, trong khi Ubuntu và các hệ thống dựa trên Debian khác được lưu trữ trong /var/log/syslog.
auth.log
FIle log này sẽ nằm ở đường dẫn /var/log/auth.log
[root@kblinux.com ~]# cat /var/log/auth.log
File log này chứa thông tin xác thực trên hệ thống trong máy chủ Debian, Ubuntu được ghi lại. Khi chúng ta tìm kiếm vấn đề liên quan đến cơ chế ủy quyền của người dùng thì hãy tìm kiếm trong file log này.
Thông qua file log này giúp cho chúng ta xác định được:
- Các lần thử đăng nhập thất bại
- Điều tra các cuộc tấn công và các lỗ hổng liên quan đến cơ chế ủy quyền của người dùng.
secure
File log này nằm tại đường dẫn /var/log/secure
[root@kblinux.com ~]# cat /var/log/secure
Với các hệ thống sử dụng RedHat và CentOS thì file log này thay thế cho file log /var/log/auth.log bên trên.
Tại đây nó sử chứ các thông tin về xác thực trên hệ thống. Và có thể lưu trữ tất cả các thông tin liên quan đến bảo mật, các lỗi xác thực.
File log này còn giúp cho chúng ta theo dõi thông tin đăng nhập sudo, đăng nhập SSH và các lỗi khác được ghi bởi tiến trình chạy nền của dịch vụ bảo mật hệ thống. Ngoài ra còn giúp cho chúng ta thấy được chi tiết về các lần đăng nhập trái phép hoặc thất bại và nó cũng lưu trữ thông tin đăng nhập thành công và theo dõi các hoạt động của người dùng hợp lệ.
boot.log
File log này nằm ở /var/log/boot.log
[root@kblinux.com ~]# cat /var/log/boot.log
Đối với file log boot.log chính là nơi lưu trữ tất cả thông tin liên quan đến khởi động và mọi thông báo được ghi lại trong quá trình khởi động bao gồm tập lệnh khởi tạo hệ thống, /etc/init.d/bootmisc.sh,… Chúng ta nên phân tích file log này để kiểm tra các vấn đề liên quan đến tắt máy không đúng cách, khởi động lại hoặc lỗi khởi động. Và cũng có thể hữu ích để xác định thời gian ngừng hoạt động của hệ thống do tắt máy đột xuất.
dmesg
File log nằm tại đường dẫn /var/log/dmesg
[root@kblinux.com ~]# cat /var/log/dmesg
Tại đây các thông tin về bộ kernel được ghi nhận. Khi hệ thống khởi động các thông tin liên quan đến các thiết bị phần cứng và trình điều khiển của chúng được ghi lại ở đây. Vì kernel phát hiện các thiết bị phần cứng vật lý được liên kết trong quá trình khởi động, nó sẽ ghi lại trạng thái thiết bị, lỗi phần cứng và các thông báo chung khác. Nếu một thiết bị phần cứng nào đó hoạt động không đúng hoặc không được phát hiện, thì chúng ta có thể dựa vào tệp nhật ký này để khắc phục sự cố.
kern.log
File log nằm tại đường dẫn /var/log/kern.log
[root@kblinux.com ~]# cat /var/log/kern.log
Đây là một file log vô cùng quan trọng chính là nơi chứa các thông tin được ghi bởi kernel. Thông qua file log này giúp cho chúng ta có thể khắc phục các lỗi và cảnh báo liên quan đến kernel. Kernel log có thể hữu ích trong việc khắc phục sự cố kernel và có ích trong việc gỡ lỗi các vấn đề phần cứng.
faillog
File log nằm tại đường dẫn /var/log/faillog
[root@kblinux ~]# cat /var/log/faillog
Trong file này sẽ chứa các thông tin người dùng đã đăng nhập thất bại. Chúng ta có thể sử dụng lệnh faillog để hiển thị nội dung của file. Nó là file log vô cùng hữu ích để chúng ta có thể tìm ra bất kỳ vi phạm bảo mật liên quan đến việc hack username hoặc passwrod của người dùng cừng như các cuộc tấn công.
cron
File log nằm tại đường dẫn /var/log/cron
[root@kblinux.com ~]# cat /var/log/cron
Nơi lưu trữ tất cả các thông tin liên quan đến Crond (công việc cron), ví dụ như khi tiến trình nền cron khởi tạo một công việc, các thông báo lỗi liên quan,… Bất cứ khi nào một công việc cron chạy, tệp nhật ký này ghi lại tất cả các thông tin liên quan bao gồm thực thi thành công và thông báo lỗi trong trường hợp thất bại.
Nếu như chúng ta đang gặp một vấn đề với cron theo lịch trình của mình chúng ta cần kiểm tra file log này.
yum.log
File log nằm tại đường dẫn /var/log/yum.log
[root@kblinux.com ~]# cat /var/log/yum.log
Chứa thông tin được ghi lại khi gói được cài đặt bằng yum. Thông qua file log này giúp cho chúng ta có thể theo dõi việc cài đặt các thành phần hệ thống và gói phần mềm. Kiểm tra các thông tin được ghi lại ở đây để xem một gói đã được cài đặt chính xác hay chưa. Từ đây giúp cho chúng ta có thể khắc phục sự cố liên quan đến cài đặt phần mềm.
Ví dụ: Trong một ngày nào đó máy chủ của chúng ta hoạt động bất thường và chúng ta nghi ngờ gói phần mềm được cài đặt gần đây là nguyên nhân cho vấn đề này. Trong các trường hợp như vậy, chúng ta cần thực hiện việc kiểm tra file log này để tìm ra các gói đã được cài đặt gần đây và xác định các chương trình lỗi.
mail.log
File log nằm tại đường dẫn /var/log/maillog hoặc /var/log/mail.log
[root@kblinux.com ~]# cat /var/log//maillog
Hoặc
[root@kblinux.com~]# cat /var/log/mail.log
Nơi đây sẽ lưu trữ các thông tin từ máy chủ mail đang chạy trên hệ thống bao gồm các thông tin về postfix, smtpd, MailScanner, SpamAssassain hoặc bất kỳ dịch vụ liên quan đến email nào khác. TRong file log này sẽ ghi lại tất cả các email đã được gửi hoặc nhận trong một khoảng thời gian cụ thể. Thông qua file log giúp chúng ta có thể kêểm tra các vấn đề gửi thư thất bại, nhận thông tin về spam có thể bị chặn bởi máy chủ mail. Theo dõi nguồn gốc của một email đến bằng cách xem xét kỹ file log maillog hoặc mail.log.
httpd
File log nằm tại /var/log/httpd
[root@kblinux.com ~]# cat /var/log/httpd
Tại đây là nơi lưu trữ của các file error_log và access_log của tiến trình nền httpd Apache. Các error_log chứa tất cả các lỗi gặp phải httpd. Những lỗi này bao gồm các vấn đề về bộ nhớ và các lỗi liên quan đến hệ thống khác, access_log chứa một bản ghi của tất cả các yêu cầu nhận được qua HTTP. Giúp bạn theo dõi mọi trang được phục vụ và mọi tệp được tải bởi Apache. Ghi lại địa chỉ IP và ID người dùng của tất cả các máy khách thực hiện yêu cầu kết nối đến máy chủ. Lưu trữ thông tin về trạng thái của các yêu cầu truy cập cho dù phản hồi đã được gửi thành công hay yêu cầu dẫn đến lỗi.
Khi chúng ta gặp vấn đề với máy chủ web Apache, hãy kiểm tra file log này để biết thông tin chẩn đoán.
mysql.log
File log nằm tại đường dẫn /var/log/mysqld.log hoặc /var/log/mysql.log
[root@kblinux.com~]# cat /var/log/mysqld.log
Hoặc
[root@kblinux.com ~]# cat /var/log/mysql.log
File log MySQL ghi lại tất cả các thông báo gỡ lỗi, thất bại và thành công. Chứa thông tin về việc bắt đầu, dừng và khởi động lại MySQL daemon mysqld. Sử dụng file log này để xác định các vấn đề trong khi bắt đầu, chạy hoặc dừng mysqld. Nhận thông tin về các kết nối máy khách đến thư mục dữ liệu MySQL. Chúng ta cũng có thể thiết lập tham số long_query_time để ghi thông tin về khóa truy vấn và truy vấn chạy chậm.
Lưu ý: Đối với hệ thống RedHat, CentOS, Fedora và các hệ thống dựa trên RedHat khác sử dụng /var/log/mysqld.log, trong khi Debian/Ubuntu sử dụng thư mục /var/log/mysql.log.