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:
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.
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ự:
Đố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/sysstat
hoặ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:
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
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.