Liên hệProfile
Danh mục

Mục Lục

    Cách dùng lệnh journalctl trên Linux để quản lý và phân tích log hệ thống hiệu quả

    Nguyễn Hưng

    Ngày đăng:

    03/04/2026

    Cập nhật lần cuối:

    03/04/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    03/04/2026

    Cập nhật lần cuối:

    03/04/2026

    Mục lục

     journalctl là công cụ mạnh mẽ giúp bạn truy xuất, lọc và phân tích log của systemd một cách dễ dàng. Công cụ này quản lý dữ liệu dưới dạng nhị phân, cho phép truy xuất thông tin nhanh chóng và linh hoạt. Trong bài viết dưới đây, mình sẽ hướng dẫn bạn sử dụng journalctl để giám sát hệ thống, xử lý lỗi nhanh chóng và nâng cao hiệu quả quản trị máy chủ.

    Những điểm chính

    • Khái niệm journalctl: Hiểu rõ bản chất công cụ truy xuất nhật ký hệ thống nhị phân mạnh mẽ, giúp bạn truy vấn dữ liệu nhanh chóng và nhất quán hơn các tệp văn bản truyền thống.
    • Lợi ích vượt trội: Biết cách tận dụng khả năng lọc đa chiều, phân cấp mức độ ưu tiên và giám sát thời gian thực để nhanh chóng xác định chính xác nguyên nhân gốc rễ của mọi sự cố.
    • Hướng dẫn sử dụng chi tiết: Thành thạo các bộ lọc nâng cao theo thời gian, dịch vụ, mã tiến trình và nhật ký nhân hệ thống để tối ưu hóa quy trình quản trị.
    • Lưu ý khi vận hành: Nắm vững các quy tắc về quyền quản trị, quản lý dung lượng lưu trữ và cấu hình múi giờ để đảm bảo tính toàn vẹn và ổn định cho hệ thống log.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến lệnh journalctl Linux.

    journalctl là gì?

    journalctl là một tiện ích dòng lệnh chuyên dụng để truy xuất và phân tích nhật ký hệ thống được quản lý bởi systemd-journald. Trong các bản phân phối Linux hiện đại, thay vì lưu trữ rải rác dưới dạng file văn bản, mọi dữ liệu từ nhân hệ thống, các dịch vụ hệ thống đến các tiến trình ứng dụng đều được cấu trúc hóa dưới dạng nhị phân trong journal. Điều này giúp việc truy vấn dữ liệu trở nên nhanh chóng, chính xác và nhất quán hơn.

    Cú pháp lệnh journalctl như sau:

    ​journalctl [options] [matches]

    Trong đó:

    • [options]: Các tùy chọn điều khiển cách hiển thị và phạm vi log, ví dụ như: -b (log từ lần boot hiện tại), -f (theo dõi realtime), -p (lọc theo mức độ ưu tiên), –since/–until (lọc theo thời gian).
    • [matches]: Các điều kiện lọc log theo trường cụ thể, như _PID=, _UID=, _GID=, tên unit với -u hoặc các trường metadata khác để thu hẹp đúng phần log cần xem.
    journalctl dùng để truy xuất và phân tích nhật ký hệ thống được quản lý bởi systemd-journald
    journalctl dùng để truy xuất và phân tích nhật ký hệ thống được quản lý bởi systemd-journald

    Những lợi ích khi sử dụng lệnh journalctl

    Dưới đây là các lợi ích chính khi triển khai journalctl:

    • Khả năng truy vấn đa chiều: journalctl cho phép bạn lọc nhật ký dựa trên các tham số linh hoạt như mốc thời gian cụ thể, định danh dịch vụ, theo mã tiến trình,…để thu hẹp phạm vi tìm kiếm dữ liệu.
    • Phân cấp mức độ ưu tiên: Lệnh journalctl hỗ trợ lọc dữ liệu dựa trên mức độ nghiêm trọng của sự kiện, từ Debug, Info đến Warning, Error, Critical. Điều này giúp bạn tập trung vào các lỗi hệ thống trọng yếu mà không bị nhiễu bởi các thông tin vận hành thông thường.
    • Giám sát lưu lượng thời gian thực: Khi sử dụng lệnh journalctl, bạn sẽ được cung cấp cơ chế theo dõi nhật ký trực tiếp, cho phép quan sát các biến động và phản hồi của hệ thống ngay tại thời điểm phát sinh sự cố.
    • Xác định và phân tích sự cố chuyên sâu: Là công cụ trung tâm trong quy trình xử lý sự cố, journalctl giúp liên kết các sự kiện hệ thống để tìm ra nguyên nhân gốc rễ của lỗi, từ đó tối ưu hóa công tác giám sát và duy trì tính ổn định của máy chủ.

    Vì dữ liệu của journalctl được lưu trữ dưới dạng nhị phân. nên sẽ được bảo toàn tính toàn vẹn của log tốt hơn các tệp text thông thường và hỗ trợ các tính năng nâng cao như giới hạn dung lượng lưu trữ tự động để bảo vệ tài nguyên ổ cứng.

    Những lợi ích khi sử dụng lệnh journalctl
    Những lợi ích khi sử dụng lệnh journalctl

    1. Xem nhật ký hệ thống (Systemd Logs) cơ bản

    Để nắm bắt toàn bộ các sự kiện, tiến trình và hoạt động tổng quan của hệ thống từ khi khởi động, bạn sử dụng lệnh:

    journalctl
    Xem nhật ký hệ thống (Systemd Logs) cơ bản
    Xem nhật ký hệ thống (Systemd Logs) cơ bản

    2. Hiển thị log từ lần khởi động hiện tại

    Để tập trung xem các sự kiện và hoạt động kể từ lần máy chủ được bật gần nhất mà không bị lẫn với các dữ liệu cũ, bạn dùng lệnh:

    journalctl -b
    Hiển thị log từ lần khởi động hiện tại
    Hiển thị log từ lần khởi động hiện tại

    iconLưu ý

    Nếu không sử dụng tùy chọn này, journalctl sẽ tự động chèn dòng phân cách — Reboot — tại mỗi mốc hệ thống khởi động lại.

    3. Hiển thị log theo thời gian cụ thể

    Để lọc và xem các sự kiện xảy ra trong một khoảng thời gian mong muốn nhằm phục vụ việc phân tích sự cố chính xác, bạn thực hiện lệnh sau:

    journalctl --since "YYYY-MM-DD HH:MM:SS" --until "YYYY-MM-DD HH:MM:SS"
    Hiển thị log theo thời gian cụ thể
    Hiển thị log theo thời gian cụ thể

    4. Xem log theo dịch vụ cụ thể

    Để tập trung theo dõi hoạt động của một dịch vụ riêng biệt như Apache (httpd) hay MySQL (mysqld) và phát hiện nhanh các lỗi liên quan, bạn sử dụng lệnh:

    journalctl -u <ten_dich_vu>
    Xem log theo dịch vụ cụ thể
    Xem log theo dịch vụ cụ thể

    5. Xem log theo Process, User hoặc Group ID

    Để theo dõi các sự kiện liên quan đến một tiến trình cụ thể hoặc giám sát hoạt động của một người dùng/nhóm, bạn thực hiện một trong các lệnh sau:

    journalctl _PID=<PID>
    Xem log theo Process
    Xem log theo Process
    journalctl _UID=<UID>
    Xem log theo User
    Xem log theo User
    journalctl _GID=<GID>
    Xem log theo Group
    Xem log theo Group

    6. Xem log theo đường dẫn thành phần (Component Path)

    Để tập trung vào các sự kiện liên quan đến một ứng dụng hoặc thành phần cụ thể thông qua đường dẫn trỏ tới chương trình đó, bạn sử dụng lệnh:

    journalctl <path>
    Xem log theo đường dẫn thành phần
    Xem log theo đường dẫn thành phần

    7. Xem log theo mức độ ưu tiên (Priority)

    Để lọc và xử lý nhanh các sự kiện nghiêm trọng như lỗi (err) hoặc cảnh báo (warning), bạn sử dụng lệnh sau:

    journalctl -p <muc_uu_tien>
    Xem log theo mức độ ưu tiên
    Xem log theo mức độ ưu tiên

    Các mức độ ưu tiên từ cao đến thấp bao gồm:

    • 0: emerg
    • 1: alert
    • 2: crit
    • 3: err
    • 4: warning
    • 5: notice
    • 6: info
    • 7: debug

    8. Xem log theo thời gian thực

    Để theo dõi các sự kiện ngay khi chúng vừa xảy ra trên hệ thống, giúp kiểm tra hiệu quả của các thay đổi cấu hình, bạn sử dụng lệnh:

    journalctl -f
    Xem log theo thời gian thực
    Xem log theo thời gian thực

    9. Xem các bản ghi gần đây nhất

    Để kiểm tra nhanh một số lượng bản ghi vừa phát sinh (mặc định hiển thị 10 bản ghi gần nhất), bạn dùng lệnh:

    journalctl -n
    Xem các bản ghi gần đây nhất
    Xem các bản ghi gần đây nhất

    10. Xem nhật ký từ nhân hệ thống (Kernel log)

    Để theo dõi các thông báo liên quan đến phần cứng, trình điều khiển (driver) hoặc các vấn đề cấp thấp của nhân hệ thống, bạn sử dụng lệnh:

    journalctl -k
    Xem nhật ký từ nhân hệ thống
    Xem nhật ký từ nhân hệ thống

    11. Thu gọn đầu ra của log

    Để yêu cầu hệ thống thu gọn các nội dung bản ghi dài bằng dấu ba chấm (…) thay vì hiển thị toàn bộ, bạn sử dụng tùy chọn sau:

    journalctl --no-full
    Thu gọn đầu ra của log
    Thu gọn đầu ra của log

    12. Hiển thị toàn bộ dữ liệu ra màn hình

    Trong trường hợp bạn muốn hiển thị toàn bộ thông tin bản ghi, bao gồm cả các ký tự đặc biệt không thể in ra màn hình, bạn sử dụng lệnh sau:

    journalctl -a
    Hiển thị toàn bộ dữ liệu ra màn hình
    Hiển thị toàn bộ dữ liệu ra màn hình

    13. Kiểm tra dung lượng ổ đĩa của nhật ký

    Để xác định dung lượng mà các file nhật ký hiện đang chiếm dụng trên ổ đĩa của hệ thống, bạn thực hiện lệnh:

    journalctl --disk-usage
    Kiểm tra dung lượng ổ đĩa của nhật ký
    Kiểm tra dung lượng ổ đĩa của nhật ký

    Những lưu ý khi sử dụng lệnh journalctl

    Để đảm bảo hệ thống vận hành ổn định và tránh lãng phí tài nguyên lưu trữ khi sử dụng journalctl, bạn cần lưu ý các vấn đề kỹ thuật sau:

    • Quản lý dung lượng lưu trữ: Bạn cần thường xuyên kiểm tra tổng dung lượng log bằng lệnh journalctl --disk-usage và thiết lập giới hạn lưu trữ trong file cấu hình journald.conf.
    • Cấu hình lưu trữ tạm thời và vĩnh viễn: Mặc định trên một số hệ thống, log của journalctl chỉ được lưu tạm thời trên RAM. Nếu cần lưu trữ log lâu dài để phục vụ điều tra sự cố, bạn ca cần đảm bảo thư mục /var/log/journal đã được khởi tạo.
    • Sử dụng quyền quản trị (Sudo): Để truy cập đầy đủ các bản ghi từ nhân hệ thống hoặc dịch vụ của người dùng khác, bạn cần thực thi lệnh với quyền sudo. Nếu không, journalctl sẽ chỉ hiển thị các bản ghi thuộc quyền sở hữu của người dùng hiện tại.
    • Tối ưu hóa bộ lọc thời gian: Khi thực hiện truy vấn trên các máy chủ hoạt động lâu ngày, việc chạy lệnh journalctl sẽ mất nhiều thời gian để tải dữ liệu. Bạn hãy luôn kết hợp các tham số thời gian như –since hoặc –until để thu hẹp phạm vi và tăng tốc độ tìm kiếm.
    • Lưu ý về múi giờ: Journalctl mặc định hiển thị theo giờ hệ thống. Nếu bạn đang làm việc với các hệ thống phân tán hoặc server đặt tại nước ngoài, hãy sử dụng tham số –utc để quy đổi thời gian về chuẩn quốc tế, tránh nhầm lẫn khi đối soát sự cố.

    Theo kinh nghiệm của mình, journalctl là công cụ cực kỳ mạnh nhưng cũng dễ “ngợp” nếu không biết cách lọc log hợp lý. Trong thực tế vận hành, việc kết hợp lọc theo thời gian, service (-u) và mức độ log (priority) sẽ giúp bạn rút ngắn đáng kể thời gian debug sự cố, thay vì phải đọc hàng nghìn dòng log không cần thiết.

    Bạn cần lưu ý về múi giờ khi sử dụng journalctl
    Bạn cần lưu ý về múi giờ khi sử dụng journalctl (Nguồn: Internet)

    Câu hỏi thường gặp

    Làm thế nào để xuất nội dung log ra một file văn bản?

    Để lưu trữ nhật ký hệ thống vào một file nhằm mục đích gửi cho bộ phận hỗ trợ hoặc xem lại sau, bạn hãy sử dụng lệnh chuyển hướng sau:
    journalctl > log_he_thong.txt

    Ý nghĩa của tùy chọn -xe thường dùng khi dịch vụ bị lỗi là gì?

    Quản trị viên thường sử dụng tổ hợp tùy chọn này để kiểm tra nhanh nguyên nhân một dịch vụ không khởi động được. Để xem các bản ghi cuối cùng kèm theo các thông tin giải thích chi tiết từ hệ thống, bạn sử dụng lệnh:
    journalctl -xe
    Trong đó:
    -x (catalog)
    : Cung cấp thêm các đoạn văn bản giải thích về lỗi.
    -e (pager-end): Nhảy thẳng đến cuối file log để xem các sự kiện mới nhất.

    Tôi có thể tìm kiếm một từ khóa cụ thể trong log bằng cách nào?

    Để lọc ra các dòng nhật ký chứa một từ khóa nhất định, bạn hãy kết hợp journalctl với lệnh grep thông bằng lệnh sau:
    journalctl | grep “từ_khóa”

    Làm sao để hiển thị toàn bộ log ra màn hình mà không dùng trình xem trang?

    Mặc định journalctl sẽ mở nội dung trong trình xem, buộc bạn phải nhấn phím để cuộn. Để đẩy toàn bộ dữ liệu trực tiếp ra màn hình Terminal (stdout), bạn hãy thêm tùy chọn –no-pager:
    journalctl --no-pager

    Cách xem nhật ký liên quan đến dịch vụ Docker như thế nào?

    Để kiểm tra hoạt động của trình điều khiển Docker hoặc các container, bạn sử dụng lệnh truy vấn theo unit:
    journalctl -u docker

    Hy vọng bài viết này, bạn đã nắm vững cách sử dụng lệnh journalctl để truy xuất, lọc và giám sát log trên hệ thống Linux một cách hiệu quả. Việc thành thạo công cụ này giúp bạn nhanh chóng phát hiện sự cố và giám sát hoạt động của các dịch vụ một cách chủ động, từ đó nâng cao kỹ năng quản trị hệ thống Linux chuyên nghiệp.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh pidstat trong Linux để giám sát tài nguyên các tiến trình sử dụng
    Hướng dẫn sử dụng lệnh pidstat trong Linux để giám sát tài nguyên các tiến trình sử dụng

    Lệnh pidstat là công cụ chuyên dụng trên hệ thống Linux, được sử dụng để giám sát tài nguyên mà các tiến trình đang sử dụng. Bài viết này được mình đúc kết từ quá trình trực tiếp xử lý hàng nghìn ticket tối ưu hệ thống cho khách hàng tại Vietnix, nơi mà mỗi…

    20/04/2026

    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng
    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng

    smartctl là một tiện ích dòng lệnh giúp quản lý và giám sát hệ thống S.M.A.R.T., từ đó theo dõi chi tiết sức khỏe ổ cứng HDD/SSD trong môi trường máy chủ lẫn máy trạm cá nhân. Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt, sử dụng các lệnh smartctl quan trọng…

    14/04/2026

    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux
    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux

    cryptsetup là tiện ích dòng lệnh nguồn mở trong Linux dùng để quản lý mã hóa đĩa dựa trên dm-crypt và chuẩn LUKS, hỗ trợ tạo volume an toàn với nhiều khóa và tương thích cao. Bài viết này hướng dẫn toàn diện về cryptsetup từ cài đặt, quy trình mã hóa, quản lý key…

    14/04/2026

    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux
    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux

    Aureport là công cụ dòng lệnh mạnh mẽ trong hệ thống auditd Linux, chuyên tạo báo cáo thống kê tóm tắt từ các tệp nhật ký kiểm toán. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng aureport để giám sát bảo mật và phân tích hoạt động hệ thống hiệu quả. Những…

    09/04/2026

    linux

    lenh

    text