Có thể lấy dung lượng đĩa trống (df) bằng CloudWatch không? Nếu vậy, số liệu nào đại diện cho không gian đĩa trống?
Có thể lấy dung lượng đĩa trống (df) bằng CloudWatch không? Nếu vậy, số liệu nào đại diện cho không gian đĩa trống?
Câu trả lời:
Trong khi đó AWS cung cấp các tập lệnh mẫu riêng của họ để theo dõi việc sử dụng bộ nhớ và dung lượng ổ đĩa trên các phiên bản Amazon EC2 của bạn chạy Linux ít nhất, hãy xem Tập lệnh giám sát Amazon CloudWatch mới :
Bạn có thể chạy các tập lệnh này trên các phiên bản của mình và định cấu hình chúng để báo cáo số liệu sử dụng bộ nhớ và dung lượng ổ đĩa cho Amazon CloudWatch. Khi các số liệu được gửi tới CloudWatch, bạn có thể xem biểu đồ, tính toán số liệu thống kê và đặt báo thức cho chúng trong bảng điều khiển CloudWatch hoặc thông qua API CloudWatch .
[...]
Để tìm hiểu thêm về cách sử dụng các tập lệnh, bao gồm cài đặt, thiết lập và cấu hình, vui lòng truy cập " Amazon CloudWatch Giám sát tập lệnh cho Linux " trong Hướng dẫn dành cho nhà phát triển Amazon CloudWatch.
Mặc dù vậy, xin lưu ý rằng nhiều giải pháp giám sát phổ biến của bên thứ 3 cũng cung cấp các mẫu tương ứng hoặc các giải pháp chính thức cho giám sát sử dụng bộ nhớ và dung lượng ổ đĩa, vì vậy người ta thường không cần phải phát minh lại bánh xe. Mặc dù vậy, các kịch bản do AWS cung cấp cũng khá tốt và rộng rãi, tức là chúng bao quát trường hợp sử dụng kỹ lưỡng hơn hầu hết các tập lệnh tắt tùy chỉnh trôi nổi xung quanh.
Không, điều này là không thể (chưa). Xem câu trả lời của nhân viên AWS trên cloudwatch câu hỏi liên quan để sử dụng bộ nhớ , bao gồm cả lý do cho việc này:
[...] Ngay bây giờ, bạn không cần phải triển khai bất cứ điều gì trong AMI để theo dõi trường hợp của bạn. Các số liệu như sử dụng bộ nhớ và dung lượng ổ đĩa yêu cầu chúng ta xem xét hệ điều hành đang chạy trong trường hợp đó và đó là lý do tại sao chúng ta không có các số liệu có giá trị này.
Chúng tôi đang xem xét các cách để cung cấp cái nhìn sâu sắc hơn về hệ điều hành và ứng dụng của bạn và sẽ có thêm thông tin chi tiết khi chúng tôi xây dựng kế hoạch.
Tôi nghi ngờ rằng chức năng này sẽ xuất hiện bất cứ lúc nào sớm, vì chức năng đại lý đa nền tảng cần thiết đã có sẵn từ một vài nhà cung cấp khác cung cấp các giải pháp giám sát chuyên dụng, và nhiệm vụ này hoàn toàn đơn giản - đó chắc chắn sẽ là một chiến thắng rất lớn tất nhiên hỗ trợ cho điều này được tích hợp vào AWS.
Đây là phiên bản tốt hơn của cùng một tập lệnh truy xuất các tập được đính kèm vào một thể hiện và báo cáo việc sử dụng từng tập.
lưu ý sự thay thế của / dev / xvd cho / dev / sd
cũng lưu ý rằng bạn cần các công cụ ec2-api và công cụ cloudwatch được cài đặt cùng với chứng chỉ để làm cho các công cụ đó hoạt động
#!/bin/bash
export JAVA_HOME=
export AWS_CREDENTIAL_FILE=
export EC2_CERT=
export EC2_PRIVATE_KEY=
export EC2_HOME=
export AWS_CLOUDWATCH_HOME=
INSTANCE_ID=$(wget -q -O - http://169.254.169.254/latest/meta-data/instance-id)
VOLUME_LIST=$($EC2_HOME/bin/ec2-describe-volumes | grep ${INSTANCE_ID} | awk '{ print $2 ";" $4}')
for VOLUME_LINE in $(echo $VOLUME_LIST); do
VOLUME_NAME=${VOLUME_LINE%;*}
DEVICE_NAME=/dev/xvd${VOLUME_LINE#*;/dev/sd}
USAGE=$(df $DEVICE_NAME | perl -ne 'print "$1" if /(\d+)\%/')
$AWS_CLOUDWATCH_HOME/bin/mon-put-data -v $USAGE -d "Volume=$VOLUME_NAME" -m UsedStoragePercentage -u Percent -n "NAMESPACE" --show-request
done
Tôi kết hợp một tập lệnh bash để thực hiện điều này bằng cách sử dụng số liệu tùy chỉnh trên đám mây
http://aws.typepad.com/aws/2011/05/amazon-cloudwatch-user-dained-metrics.html
thay thế XXXX bằng các giá trị của riêng bạn
#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export AWS_CREDENTIAL_FILE=XXXX
export AWS_CLOUDWATCH_HOME=XXXX
INSTANCE_ID=$(wget -q -O - http://169.254.169.254/latest/meta-data/instance-id)
$AWS_CLOUDWATCH_HOME/bin/mon-put-data -v $(df / | perl -ne 'print "$1" if /(\d+)\%/') -d "InstanceId=$INSTANCE_ID,Volume=root" -u Percent -m UsedStoragePercentage -n "XXXX" --show-request
đặt công việc này trong một công việc định kỳ và bạn sẽ có một số liệu bạn có thể đặt báo thức. Tôi quyết định đi theo tỷ lệ phần trăm và điểm gắn cụ thể thay vì theo dõi âm lượng vì nó phù hợp với nhu cầu của tôi. Tôi có xu hướng thay đổi kích thước và chuyển đổi xung quanh âm lượng nhiều hơn so với các trường hợp tôi đang khởi động lại. Số dặm của bạn có thể thay đổi.
Không hài lòng với các tập lệnh mẫu của Amazon hoặc các tập lệnh bên thứ 3 khác nhau sử dụng các công cụ dòng lệnh dựa trên Perl của họ, chúng tôi đã viết tập lệnh của riêng mình bằng Python: aws-cloudwatch-linux-metrics .
Tệp đơn, không có phụ thuộc và chạy trên bất kỳ trình thông dịch Python nào.
Nó đọc dữ liệu ngay từ /proc
hệ thống tập tin và báo cáo việc sử dụng không gian đĩa bên cạnh các số liệu hệ thống khác không thể quan sát được từ bên ngoài:
Nó báo cáo các số liệu này liên quan đến cả id cá thể và id hình ảnh.
Một thời gian sau khi câu hỏi được hỏi, AWS đã cung cấp các tập lệnh với các tùy chọn để báo cáo việc sử dụng đĩa.
Bạn có thể chạy tập lệnh này trong crontab để báo cáo dung lượng đĩa trống cho CloudWatch. Đừng quên bao gồm đường dẫn đĩa.
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --disk-space-util --disk-path=/ --from-cron
Tài liệu cung cấp một danh sách đầy đủ các tùy chọn cộng với ví dụ ở đây .