Cách giám sát hệ thống bằng Sysstat trên Centos

theanh

Administrator
Nhân viên
Một nhiệm vụ chung của Quản trị viên hệ thống là giám sát và chăm sóc máy chủ. Việc này khá dễ thực hiện ngay lập tức, nhưng làm sao để lưu giữ thông tin này theo thời gian? Một cách để theo dõi máy chủ của bạn là sử dụng gói Sysstat.

Sysstat thực chất là một tập hợp các tiện ích được thiết kế để thu thập thông tin về hiệu suất của một bản cài đặt Linux và ghi lại chúng theo thời gian.

Nó cũng khá dễ cài đặt vì nó được bao gồm dưới dạng một gói trên nhiều bản phân phối.

Cài đặt Sysstat trên CentOS​

Để cài đặt Sysstat trên Centos 6 hoặc CentOS 7, chỉ cần nhập lệnh sau:
Mã:
yum install sysstat

Sử dụng Sysstat System Monitor​

Bây giờ chúng ta đã cài đặt các tập lệnh sysstat trên hệ thống. Hãy thử lệnh sar.
Mã:
sar
Mã:
11:00:02 AM CPU %user %nice %system %iowait %idle11:10:01 AM all 0.00 0.00 0.00 0.00 99.99Trung bình: all 0.00 0.00 0.00 0.00 99.99
Một số bit thông tin, chẳng hạn như hạt nhân Linux, tên máy chủ và ngày được báo cáo.
Quan trọng hơn, các cách khác nhau mà thời gian CPU được sử dụng trên hệ thống được hiển thị.

%user, %nice, %system, %iowait và %idle mô tả các cách mà CPU có thể được sử dụng.
%user và %nice đề cập đến các chương trình phần mềm của bạn, chẳng hạn như MySQL hoặc Apache.
%system đề cập đến hoạt động bên trong của hạt nhân.
%iowait là thời gian dành cho việc chờ Đầu vào/Đầu ra, chẳng hạn như đọc hoặc ghi đĩa. Cuối cùng, vì hạt nhân chiếm 100% thời gian chạy được mà nó có thể lên lịch, nên bất kỳ thời gian nào chưa sử dụng đều được chuyển vào %idle.

Thông tin trên được hiển thị trong khoảng thời gian 1 giây. Làm sao chúng ta có thể theo dõi thông tin đó theo thời gian?
Nếu hệ thống của chúng ta liên tục chạy nặng trong %iowait, chúng ta có thể suy đoán rằng một đĩa đang bị quá tải hoặc bị hỏng.
Ít nhất, chúng ta sẽ biết để điều tra.

Vậy làm sao chúng ta có thể theo dõi thông tin theo thời gian? Chúng ta có thể lên lịch cho sar chạy theo các khoảng thời gian đều đặn, chẳng hạn như cứ 10 phút.
Sau đó, chúng ta chỉ đạo nó gửi đầu ra đến các tệp nhật ký đặc biệt của sysstat để báo cáo sau.
Cách thực hiện việc này là sử dụng daemon Cron.

Bằng cách tạo một tệp có tên sysstat trong /etc/cron.d, chúng ta có thể yêu cầu cron chạy sar mỗi ngày.
May mắn thay, gói Systat mà yum đã cài đặt đã thực hiện bước này cho chúng ta.
Mã:
more /etc/cron.d/sysstat
Mã:
# chạy công cụ tính toán hoạt động hệ thống cứ 10 phút*/10 * * * * root /usr/lib/sa/sa1 1 1# tạo bản tóm tắt hàng ngày về tính toán quy trình lúc 23:5353 23 * * * root /usr/lib/sa/sa2 -A
Tập lệnh sa1 ghi lại đầu ra của sar vào định dạng tệp nhật ký nhị phân của sysstat và sa2 báo cáo lại theo định dạng mà con người có thể đọc được.
Báo cáo được ghi vào tệp trong /var/log/sa.
Mã:
ls /var/log/sa
Mã:
sa17 sar17
sa17 là nhật ký sysstat nhị phân, sar17 là báo cáo. (Ngày hôm nay là ngày 17)

Có khá nhiều thông tin trong báo cáo sar, nhưng có một số giá trị có thể cho chúng ta biết máy chủ bận rộn như thế nào.
Các giá trị cần theo dõi là mức sử dụng swap, thời gian chờ IO của đĩa và hàng đợi chạy.
Những thông tin này có thể được lấy bằng cách chạy sar theo cách thủ công, lệnh này sẽ báo cáo về các giá trị đó.
Mã:
sar
Mã:
11:00:02 AM CPU %user %nice %system %iowait %idle11:10:01 AM all 0.00 0.00 0.00 0.00 99.9911:20:01 AM all 0.00 0.00 0.00 0.00 100.0011:30:02 AM all 0.01 0.26 0.19 1.85 97,6811:39:20 AM tất cả 0,00 2,41 2,77 0,53 94,2811:40:01 AM tất cả 1,42 0,00 0,18 3,24 95,15Trung bình: tất cả 0,03 0,62 0,69 0,64 98,02
Có một vài khoảnh khắc hoạt động của đĩa cao trong cột %iowait, nhưng nó không duy trì như vậy quá lâu. Trung bình 0,64 là khá tốt.

Còn việc sử dụng swap của tôi thì sao, tôi có hết Ram không? Việc swap out là bình thường đối với hạt nhân Linux, sẽ swap theo thời gian. Việc hoán đổi liên tục là không tốt và thường có nghĩa là bạn cần nhiều Ram hơn.
Mã:
sar -W
Mã:
11:00:02 AM pswpin/s pswpout/s11:10:01 AM 0,00 0,0011:20:01 AM 0,00 0,0011:30:02 AM 0,00 0,0011:39:20 AM 0,00 0,0011:40:01 AM 0,00 0,0011:50:01 AM 0,00 0,00Trung bình: 0,00 0,00
Không, chúng tôi thấy ổn. Không có sự hoán đổi liên tục nào diễn ra.

Tải hệ thống thế nào? Các tiến trình của tôi có phải chờ quá lâu để chạy trên CPU không?
Mã:
sar -q
Mã:
11:00:02 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-1511:10:01 AM 0 47 0,00 0,00 0,0011:20:01 AM 0 47 0,00 0,00 0,0011:30:02 AM 0 47 0,28 0,21 0,0811:39:20 AM 0 45 0,01 0,24 0,1711:40:01 AM 0 46 0,07 0,22 0,1711:50:01 AM 0 46 0,00 0,02 0,07Trung bình: 0 46 0,06 0,12 0,08
Không, tải trung bình .06 thực sự tốt. Lưu ý rằng có khoảng thời gian 1, 5 và 15 phút ở bên phải. Có ba khoảng thời gian giúp bạn cảm nhận được lượng tải mà hệ thống đang mang. 3 hoặc 4 trong mức trung bình 1 phút là ổn, nhưng cùng một con số trong cột 15 phút có thể chỉ ra rằng công việc không được giải quyết và cần phải xem xét kỹ hơn.

Đây là cái nhìn thoáng qua về gói Sysstat.

Chúng tôi chỉ xem xét đầu ra của ba thuộc tính sar, nhưng vẫn còn những thuộc tính khác. Bây giờ, được trang bị sar trong hộp công cụ của bạn, công việc quản trị hệ thống của bạn trở nên dễ dàng hơn một chút.
 
Back
Bên trên