Hướng dẫn toàn diện cách dùng lệnh sar trong Linux

Tóm lược nội dung

 

  • Vì sao nên dùng sar: Khám phá lý do sar là công cụ giám sát đáng tin cậy nhờ khả năng ghi log và phân tích hiệu suất toàn diện.

 

  • Cài đặt nhanh chóng: Hướng dẫn cách cài sar trên các bản phân phối Linux phổ biến như Ubuntu hoặc RedHat.

 

  • Cú pháp lệnh chi tiết: Nắm rõ cách sử dụng sar với các tùy chọn linh hoạt theo nhu cầu giám sát.

 

  • Hiển thị và phân tích dữ liệu: Biết cách xem, trích xuất và xử lý dữ liệu giám sát hệ thống.

 

  • Ví dụ sử dụng thực tế: Áp dụng các lệnh sar để theo dõi CPU, RAM, mạng, thiết bị và nhiều chỉ số hệ thống.

 

  • Tự động hóa thu thập thông tin: Cấu hình hệ thống ghi nhận dữ liệu định kỳ, phục vụ việc chẩn đoán hiệu suất lâu dài.

 

  • Tình huống thực tiễn: Phân tích các ví dụ thực tế giúp bạn áp dụng sar hiệu quả để phát hiện lỗi.

 

Tại sao nên chọn sar thay vì công cụ khác?

 

Dù có nhiều công cụ giám sát như top, htop, iostat hay vmstat, nhưng sar nổi bật ở khả năng ghi lại dữ liệu theo thời gian, giúp phân tích hiệu suất không chỉ theo thời gian thực mà cả trong quá khứ. Những ưu điểm chính:

 

  • Lưu trữ log hiệu suất hệ thống: Cho phép xem lại thông tin CPU, bộ nhớ, I/O... trong nhiều giờ, thậm chí nhiều ngày trước.

 

  • Báo cáo toàn diện: Không chỉ theo dõi CPU mà còn hỗ trợ mạng, đĩa, tiến trình và swap.

 

  • Tối ưu cho môi trường sản xuất: Nhẹ, ít tiêu tốn tài nguyên và có thể chạy nền lâu dài mà không gây ảnh hưởng đến hệ thống.

 

  • Phân tích xu hướng và sự cố: Hữu ích trong việc phát hiện các vấn đề bất thường như rò rỉ bộ nhớ, nghẽn CPU, lưu lượng mạng tăng đột biến.

 

Cách cài đặt sar trên hệ thống Linux

 

Để sử dụng sar, bạn cần cài gói sysstat – gói này bao gồm sar và các tiện ích liên quan.

 

Trên Ubuntu:

 

sudo apt install sysstat
 

Trên RedHat 9 (hoặc các bản RHEL/CentOS):

 

sudo dnf install sysstat
 

Sau khi cài xong, bạn có thể bắt đầu dùng lệnh sar để giám sát hệ thống.

 

Cú pháp cơ bản của lệnh sar


 
sar -[tuỳ chọn] [khoảng thời gian] [số lần lặp]
 
 
  • Tuỳ chọn: Xác định loại dữ liệu cần hiển thị, ví dụ: -u cho CPU, -r cho RAM, -n DEV cho mạng...

 

  • Khoảng thời gian: Số giây giữa các lần lấy dữ liệu.

 

  • Số lần lặp: Bao nhiêu lần lặp lại thao tác lấy dữ liệu.

 

Ví dụ:


 
sar -u 2 5
 

Lệnh trên sẽ hiển thị báo cáo CPU 5 lần, mỗi lần cách nhau 2 giây.

 

Hiển thị và phân tích dữ liệu với sar

 

Sar lưu trữ thông tin tại /var/log/sysstat/, cho phép bạn xem lại dữ liệu của những ngày trước.

 

  • Xem báo cáo tổng quát mới nhất:

    
    		
     
    sar -A
     
  • Xem dữ liệu của ngày hôm qua:

    
    		
     
    sar -f /var/log/sysstat/sa$(date --date='yesterday' +%d)
     
  • Xem thông tin CPU từ ngày 10:

    
    		
     
    sar -u -f /var/log/sysstat/sa10
     
  • Giám sát mạng theo thời gian:

    
    		
     
    sar -n DEV 2 5
     
  • Xuất dữ liệu ra file để xử lý thêm:

    
    		
     
    sar -A -o output_file
     

Các ví dụ phổ biến với sar

 

Mục đích Lệnh sử dụng
Khởi động dịch vụ ghi log sudo systemctl start sysstat
Xem trợ giúp sar --help
Kiểm tra phiên bản sar -V
Theo dõi CPU sar -u 2 5
Giám sát RAM sar -r 1 3
Kiểm tra hệ thống file sar -F 2 5
Giám sát I/O block sar -d 1 3
Theo dõi load & queue sar -q 2 5
Theo dõi CPU từng core sar -P 1 1 3
Giám sát mạng (bỏ qua lo) `sar -n DEV 1 3
Kiểm tra tiến trình & i-node sar -v 1 3
Giám sát swap sar -S 1 3
Báo cáo paging sar -B 2 5
Hoạt động I/O tổng thể sar -b 1 3
Tạo tiến trình & context switch sar -w 1 3

Tự động hóa việc thu thập dữ liệu sar

 

Bạn có thể cấu hình hệ thống tự ghi nhận hiệu suất theo chu kỳ:

 

  • Bật thu thập dữ liệu khi khởi động:

    
    		
     
    sudo systemctl enable sysstat
     
  • Khởi động lại dịch vụ:

    
    		
     
    sudo systemctl restart sysstat
     
  • Chỉnh tần suất thu thập từ cron (mặc định mỗi 10 phút):

    
    		
     
    sudo nano /etc/cron.d/sysstat
     

    Ví dụ để chuyển sang 5 phút/lần:

    
    		
     
    */5 * * * * root /usr/lib/sysstat/sa1 1 1
     
  • Lập lịch tạo báo cáo hàng ngày:

    
    		
     
    @daily root /usr/lib/sysstat/sar -A > /var/log/sysstat/summary_$(date +\%F).log
     

Tình huống thực tế áp dụng sar

 

  • Giám sát CPU khi máy chủ chậm bất thường:

    
    		
     
    sar -u 1 5
     
  • Theo dõi RAM khi có lưu lượng truy cập cao:

    
    		
     
    sar -r 5 10
     
  • Phân tích hiệu suất ổ đĩa khi database phản hồi chậm:

    
    		
     
    sar -d 2 5
     
  • Kiểm tra lưu lượng mạng khi CPU và RAM bình thường:

    
    		
     
    sar -n DEV 1 5

 

 HỖ TRỢ TRỰC TUYẾN