theo-doi-cpu-trong-linux

Các top hiển thị tiện ích sử dụng CPU hiện tại cho mỗi tiến trình đang chạy, nhưng những gì nếu bạn muốn giám sát thời gian qua này và hiển thị nó trên một đồ thị? Có một vài tiện ích cho việc này nếu nhà cung cấp đám mây của bạn chưa có.

Một lưu ý phụ, nếu bạn chưa cài đặt nó, htop tiện ích (hình trên) sẽ dễ sử dụng hơn nhiều so với mặc định top.

Giải pháp Sử dụng đồ thị của nhà cung cấp đám mây của bạn

Giải pháp này là dễ sử dụng nhất, nhưng nó sẽ không có sẵn cho tất cả mọi người. Nếu bạn đang sử dụng AWS, CloudWatch giúp việc theo dõi sử dụng CPU rất dễ dàng.

Từ Bảng điều khiển quản lý CloudWatch (https://console.aws.amazon.com/cloudwatch/home?tag=reviewgeek-20) , bạn chọn Metrics Metrics và sau đó xem số liệu cho EC2. Số liệu của CPU CPUUtilization hiển thị mức sử dụng CPU trung bình của bạn:

Trong Bảng điều khiển quản lý CloudWatch

Mức độ sử dụng CPU trung bình của bạn được đo theo gia số 5 phút, nhưng bạn có thể kích hoạt tính năng giám sát mở rộng cho ví dụ và tăng số lượng lên đến 1 phút. Làm như vậy không có chi phí thêm mặc dù. Bạn cũng có thể dễ dàng đặt báo thức khi mức sử dụng CPU quá cao.

Nếu bạn đang ở trên Nền tảng đám mây của Google, một biểu đồ sẽ xuất hiện trong tab Giám sát trực tuyến khi bạn chọn một phiên bản.

Biểu đồ xuất hiện trên Google Cloud Platform

Azure có Azure Monitor (https://docs.microsoft.com/en-us/azure/azure-monitor/insights/vminsights-performance), hiển thị thông tin tương tự:

Azure Monitor hiển thị thông tin

Đối với hầu hết các nhà cung cấp đám mây khác, họ cũng có thể sẽ có một biểu đồ như thế này.

Sử dụng / Proc / loadavg

Cách tốt nhất để làm điều này nguyên bản là xem xét top lấy thông tin từ đâu. /proc/loadavg chứa trung bình 1 phút, 5 phút và 15 phút. Bạn có thể đăng nhập nó vớicat

cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429

Bạn có thể sử dụng điều này để tạo biểu đồ bằng cách in từng dòng thành tệp CSV được phân tách bằng dấu phẩy, sử dụng một số awk phép thuật:

cat /proc/loadavg | awk '{print $1","$2","$3}' >> cpu.csv

Kết nối cron công việc (https://www.cloudsavvyit.com/599/what-is-a-cron-job-and-how-do-you-use-them/) này với công việc đang chạy mỗi phút, xoay vòng các bản ghi bằng logrotate và bạn đã có cho mình một màn hình CPU được trang bị jerry. Bạn có thể nhập tệp CSV vào Excel, nơi sẽ dễ dàng biểu đồ mức sử dụng CPU trung bình trên biểu đồ đường.

Lưu ý, lệnh trên in các mức trung bình 1 phút, 5 phút và 15 phút. Nếu bạn đang chạy nó mỗi phút, thì thực sự không cần thiết phải in trung bình 5 và 15 phút, bởi vì bạn có thể tìm ra điều đó một cách tính toán.

Cài đặt hệ thống

Các sar tiện ích là tuyệt vời để theo dõi hiệu suất hệ thống. Nó được bao gồm như một phần của sysstat, có lẽ không được cài đặt theo mặc định trên hệ thống của bạn. Bạn sẽ phải lấy nó từ trình quản lý gói của distro. Đối với các hệ thống dựa trên Debian như Ubuntu, nó sẽ là:

sudo apt-get install sysstat

Tiếp theo, kích hoạt nó bằng cách chỉnh sửa /etc/default/sysstat và cài đặt ENABLED ‘thành đúng.

Làm như vậy sẽ giám sát hệ thống của bạn và tạo một báo cáo cứ sau 10 phút, xoay chúng ra sau một tuần. Bạn có thể sửa đổi hành vi này bằng cách chỉnh sửa cysab sysstat tại /etc/cron.d/sysstathoặc bằng cách thay đổi cài đặt xoay trong sysstat cài đặt tại /etc/sysstat/sysstat.

Bạn có thể tạo báo cáo theo thời gian thực bằng lệnh sau:

sar -u 1 3

sysstat sẽ thu thập dữ liệu sử dụng CPU nền mỗi phút, lưu nó vào /var/log/sysstat/. Sau đó, bạn có thể nhập dữ liệu này để phân tích, sử dụng chương trình bảng tính hoặc công cụ tùy chỉnh như sargraph (https://github.com/sargraph/sargraph.github.io) , hiển thị biểu đồ đẹp:

sargraph hiển thị một biểu đồ sử dụng CPU.

Bạn cũng có thể sử dụng các tiện ích dòng lệnh để vẽ đồ thị như thế này, chẳng hạn như ttyplot, nhưng không có tiện ích nào trong số chúng dễ sử dụng (và dễ nhìn) như GUI. Dòng lệnh được đánh trên bảng xếp hạng một này là đẹp hơn.

Monit có thể báo động cho bạn nếu mức sử dụng CPU quá cao

Logo Monit

Monit (https://www.cloudsavvyit.com/1230/getting-started-with-monit-for-server-monitoring/) là bộ theo dõi nguồn mở cho Unix, kiểm tra sức khỏe của máy chủ của bạn và có thể được cấu hình để gửi thông báo cho bạn nếu mức sử dụng CPU của máy chủ của bạn trở nên nguy hiểm.

Lưu ý rằng CloudWatch đạt được điều tương tự ngoài hộp có báo động và nó có thể hoạt động trên nhiều số liệu khác nhau, không chỉ sử dụng CPU.

Để lại một bình luận