Gần đây đang đọc cuốn sách này, trong đó có nói đến cách sử dụng command sar, một lệnh trong gói công cụ sysstat, hỗ trợ giám sát trạng thái sử dụng tài nguyên trên hệ thống Linux.

Ưu điểm của sysstat là ngoài giám sát thời gian thực thì công cụ còn cung cấp chức năng log, giúp kiểm tra trạng thái của tài nguyên trong quá khứ.

Cài đặt sysstat

Môi trường cài đặt:

CentOS 6.8

Cài đặt sysstat thông qua yum

$ sudo yum install sysstat

Khởi động chương trình:

$ sudo service sysstat start

Các lệnh chính

Command Giải thích
sa1 Định kỳ lấy thông tin hệ thống và lưu vào trong file log
sa2 Tổng hợp report dựa trên các thông tin thu thập được từ lệnh sa1
sar Xem thông tin đã được lưu trong file log hoặc thông tin theo thời gian thực

Thiết lập

Các thiết lập quan trọng được chứa trong 2 file sau:

1. /etc/sysconfig/sysstat
2. /etc/cron.d/sysstat

Đọc nội dung file sẽ hiểu nên không giải thích tại đây.

Với config mặc định, cron sysstat sẽ định kỳ xuất file log ra thư mục:

/var/log/sa/sa{day}

#{day} là số ngày trong tháng (01~31)

Xem nội dung log

Lệnh sar được sử dụng để hiển thị nội dung log hoặc xem thông tin hệ thống theo thời gian thực.

Xem thông tin log của ngày hiện tại

$ sar {options}

Thông tin cụ thể về từng option có thể xem tại đây:
https://linux.die.net/man/1/sar

Nếu không chỉ định {options} thì thông tin về CPU sẽ được hiển thị

Xem thông tin log của các ngày trước

$ sar -f {/path/to/log_file}

Xem thông tin trong một khoảng thời gian nhất định

$ sar -s {hh:mm:ss} -e {hh:mm:ss}

Nếu muốn xem thông tin trong một khoảng thời gian nhất định của một ngày nhất định

$ sar -f /path/to/log_file -s {hh:mm:ss} -e {hh:mm:ss}

Xem thông tin theo thời gian thực

$ sar {Khoảng cách} {Số lần}

Ví dụ:

Muốn xuất thông tin 60 lần với khoảng cách 1s thì sử dụng:

$ sar 1 60