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 dùng lệnh mkfs trong Linux để tạo filesystem cho ổ đĩa hiệu quả
    Hướng dẫn dùng lệnh mkfs trong Linux để tạo filesystem cho ổ đĩa hiệu quả

    Lệnh mkfs trong Linux đóng vai trò thiết lập hệ thống file mới trên các thiết bị lưu trữ và sẽ xóa bỏ toàn bộ dữ liệu hiện có trong quá trình thực hiện. Dựa trên kinh nghiệm quản trị hạ tầng hơn 10 năm, mình nhận thấy mkfs là một lệnh mạnh mẽ nhưng…

    01/05/2026

    Cách dùng lệnh parted Linux để quản lý Partition mạnh mẽ và linh hoạt
    Cách dùng lệnh parted Linux để quản lý Partition mạnh mẽ và linh hoạt

    parted Linux là một công cụ dòng lệnh chuyên dụng dùng để quản lý phân vùng ổ đĩa như tạo, sửa, xóa, thay đổi kích thước partition và thiết lập bảng phân vùng. Trong quá trình vận hành và quản trị hàng nghìn máy chủ, mình thường xuyên phải xử lý các bài toán mở…

    29/04/2026

    Cách dùng lệnh umount Linux để tháo ổ đĩa và Filesystem an toàn, nhanh chóng
    Cách dùng lệnh umount Linux để tháo ổ đĩa và Filesystem an toàn, nhanh chóng

    umount Linux là công cụ chuyên dụng dùng để tách rời hệ thống tệp hoặc thiết bị lưu trữ khỏi cấu trúc cây thư mục, đảm bảo mọi dữ liệu tạm thời được ghi hoàn tất và các tiến trình liên quan được đóng lại an toàn. Từ kinh nghiệm hỗ trợ hạ tầng cho…

    29/04/2026

    Hướng dẫn sử dụng lệnh shutdown Linux để tắt và khởi động lại hệ thống an toàn
    Hướng dẫn sử dụng lệnh shutdown Linux để tắt và khởi động lại hệ thống an toàn

    shutdown Linux là lệnh dùng để tắt hoặc khởi động lại hệ thống một cách an toàn, đảm bảo tiến trình được đóng đúng cách và hạn chế mất dữ liệu. Bài viết này được mình đúc kết từ quá trình xử lý hàng nghìn sự cố dữ liệu do tắt máy đột ngột cho…

    28/04/2026

    linux

    lenh

    text