เป็นไปได้หรือไม่ที่จะได้รับจำนวนเนื้อที่ว่างบนดิสก์ (df) ด้วย CloudWatch? ถ้าเป็นเช่นนั้นเมตริกใดที่แสดงถึงพื้นที่ว่างในดิสก์
เป็นไปได้หรือไม่ที่จะได้รับจำนวนเนื้อที่ว่างบนดิสก์ (df) ด้วย CloudWatch? ถ้าเป็นเช่นนั้นเมตริกใดที่แสดงถึงพื้นที่ว่างในดิสก์
คำตอบ:
AWS ในขณะเดียวกันให้สคริปต์ตัวอย่างของตนเองสำหรับการตรวจสอบหน่วยความจำและการใช้พื้นที่ดิสก์บนอินสแตนซ์ Amazon EC2 ของคุณที่ใช้ Linuxอย่างน้อยดูสคริปต์การตรวจสอบ Amazon CloudWatch ใหม่ :
คุณสามารถเรียกใช้สคริปต์เหล่านี้บนอินสแตนซ์ของคุณและกำหนดค่าให้รายงานหน่วยความจำและการใช้พื้นที่ดิสก์เพื่อ Amazon CloudWatch เมื่อเมตริกที่ถูกส่งไปยัง CloudWatch คุณสามารถดูกราฟสถิติการคำนวณและการเตือนภัยชุดที่พวกเขาในคอนโซล CloudWatch หรือผ่านทางCloudWatch API
[ ... ]
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีใช้สคริปต์รวมถึงการติดตั้งการตั้งค่าและการกำหนดค่าโปรดไปที่ " Amazon CloudWatch Monitoring Scripts for Linux " ในคู่มือนักพัฒนา Amazon CloudWatch
โปรดทราบว่าโซลูชันการตรวจสอบบุคคลที่สามที่เป็นที่นิยมจำนวนมากให้ตัวอย่างที่เกี่ยวข้องหรือโซลูชันเต็มรูปแบบสำหรับการตรวจสอบการใช้งานหน่วยความจำและพื้นที่ดิสก์แล้วเช่นกันดังนั้นโดยปกติแล้วหนึ่งไม่จำเป็นต้องบูรณาการล้อ AWS ที่ให้มานั้นมีสคริปที่ค่อนข้างดีและกว้างขวางเช่นกันซึ่งครอบคลุมถึงกรณีการใช้งานอย่างละเอียดมากกว่าสคริปที่กำหนดเองส่วนใหญ่ที่ลอยไปมา
ไม่เป็นไปไม่ได้ (ยัง) ดูคำตอบจากเจ้าหน้าที่ AWS เกี่ยวกับcloudwatchคำถามที่เกี่ยวข้องสำหรับการใช้หน่วยความจำซึ่งครอบคลุมเหตุผลนี้เช่นกัน:
[... ] ตอนนี้คุณไม่จำเป็นต้องปรับใช้อะไรใน AMI ของคุณเพื่อตรวจสอบอินสแตนซ์ของคุณ ตัวชี้วัดเช่นการใช้หน่วยความจำและพื้นที่ดิสก์ต้องการให้เรามองเข้าไปในระบบปฏิบัติการที่กำลังทำงานอยู่ในอินสแตนซ์และนั่นคือสาเหตุที่เราไม่มีตัวชี้วัดที่มีค่าเหล่านี้
เรากำลังมองหาวิธีที่จะให้ข้อมูลเชิงลึกเกี่ยวกับระบบปฏิบัติการและแอพพลิเคชั่นของคุณมากขึ้นและจะมีรายละเอียดมากขึ้นเมื่อเราดำเนินการตามแผน
ฉันสงสัยว่าการทำงานนี้จะเกิดขึ้นได้ทุกเวลาในเร็ว ๆ นี้เนื่องจากฟังก์ชั่นตัวแทนข้ามแพลตฟอร์มที่ต้องการนั้นพร้อมใช้งานจากผู้ขายรายอื่น ๆ ที่เสนอโซลูชันการตรวจสอบเฉพาะแล้วและงานนี้ก็ง่าย แต่แน่นอน การสนับสนุนสำหรับสิ่งนี้สร้างขึ้นใน AWS โดยตรงแน่นอน
ต่อไปนี้เป็นเวอร์ชันที่ดีกว่าของสคริปต์เดียวกันที่ดึงข้อมูลโวลุ่มที่แนบมากับอินสแตนซ์และรายงานการใช้งานของแต่ละโวลุ่ม
บันทึก substition ของ / dev / xvd สำหรับ / dev / sd
โปรดทราบว่าคุณต้องการเครื่องมือ ec2-api และเครื่องมือ cloudwatch ที่ติดตั้งพร้อมกับใบรับรองเพื่อให้ใช้งานได้
#!/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
ฉันรวบรวมสคริปต์ทุบตีเพื่อทำสิ่งนี้โดยใช้ตัวชี้วัดคลาวด์วอชที่กำหนดเอง
http://aws.typepad.com/aws/2011/05/amazon-cloudwatch-user-defined-metrics.html
แทนที่ XXXX ด้วยค่าของคุณเอง
#!/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
ใส่สิ่งนี้ในงาน cron และคุณจะมีระบบเมตริกที่คุณสามารถใส่สัญญาณเตือนได้ ฉันตัดสินใจที่จะใช้เปอร์เซ็นต์และจุดยึดเฉพาะแทนการตรวจสอบระดับเสียงของตัวเองเพราะมันเหมาะสมกับความต้องการของฉัน ฉันมักจะปรับขนาดและสลับไปมากับโวลุ่มมากกว่าที่ฉันเริ่มต้นอินสแตนซ์ใหม่ ไมล์สะสมของคุณอาจแตกต่างกันไป
ไม่มีความสุขกับสคริปต์ตัวอย่างของ Amazon หรือสคริปต์ของบุคคลที่ 3 ต่าง ๆ ที่ใช้เครื่องมือของพวกเขา Perl ตามบรรทัดคำสั่งที่เราเขียนสคริปต์ของเราเองในหลาม: AWS-CloudWatch-ลินุกซ์ตัวชี้วัด
ไฟล์เดียวไม่มีการพึ่งพาและทำงานกับล่าม Python ใด ๆ
มันอ่านข้อมูลจาก/proc
ระบบไฟล์และรายงานการใช้พื้นที่ดิสก์เพิ่มเติมนอกเหนือจากตัวชี้วัดระบบอื่น ๆ ที่ไม่สามารถสังเกตได้จากภายนอก:
โดยจะรายงานตัวชี้วัดเหล่านี้เกี่ยวกับรหัสอินสแตนซ์และรหัสรูปภาพ
บางครั้งหลังจากถามคำถาม AWS ได้จัดเตรียมสคริปต์พร้อมตัวเลือกเพื่อรายงานการใช้ดิสก์
คุณสามารถเรียกใช้สคริปต์นี้ใน crontab เพื่อรายงานพื้นที่ว่างบน CloudWatch อย่าลืมใส่เส้นทางของดิสก์ด้วย
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --disk-space-util --disk-path=/ --from-cron