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