แดชบอร์ด CloudWatch และ Container Insights
สร้างแดชบอร์ดการดำเนินงานสำหรับหลายบริการ และเปิดใช้ Container Insights เพื่อดูเมตริกประสิทธิภาพระดับคลัสเตอร์ของ ECS และ EKS
แดชบอร์ด CloudWatch และ Container Insights เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
ภาพรวมแดชบอร์ด CloudWatch
แดชบอร์ด CloudWatchคือมุมมองโครงสร้างพื้นฐาน AWS ของคุณที่ปรับแต่งได้และประกอบด้วยวิดเจ็ตหลายรายการ โดยให้ภาพรวมการปฏิบัติงานแบบรวมศูนย์ แดชบอร์ดสามารถแสดงเมทริกจากบริการและบัญชี AWS หลายรายการในหน้าจอเดียว โดยใช้กราฟเส้น วิดเจ็ตตัวเลข มาตรวัด การแจ้งเตือน และผลลัพธ์การสืบค้นบันทึก แดชบอร์ดเป็นทรัพยากรส่วนกลาง — แดชบอร์ดหนึ่งรายการสามารถแสดงเมทริกจากทุก Region ได้ คุณสามารถแชร์แดชบอร์ดแบบสาธารณะ หรือจำกัดการเข้าถึงผ่านนโยบาย IAM ได้
วิดเจ็ตแดชบอร์ด
แดชบอร์ด CloudWatch รองรับวิดเจ็ตหลายประเภท ได้แก่ กราฟ เส้นและพื้นที่แบบซ้อนสำหรับเมทริกอนุกรมเวลา วิดเจ็ตตัวเลขสำหรับค่าล่าสุดของเมทริก ซึ่งเหมาะสำหรับ KPI แผนภูมิแท่งสำหรับการเปรียบเทียบ มาตรวัดสำหรับแสดงตัวบ่งชี้ความจุ สถานะการแจ้งเตือนเพื่อแสดงสรุปสถานะการแจ้งเตือน ตารางบันทึกสำหรับผลลัพธ์จาก Live Tail หรือการสืบค้น Insights และ ข้อความสำหรับป้ายกำกับและเอกสารประกอบ การรวมวิดเจ็ตหลายประเภทไว้ในแดชบอร์ดเดียวช่วยให้ทีมประเมินสถานะของระบบได้อย่างรวดเร็ว
# Create a dashboard via CLI (body must be escaped JSON)
aws cloudwatch put-dashboard \
--dashboard-name ProductionOverview \
--dashboard-body '{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [["AWS/EC2","CPUUtilization","AutoScalingGroupName","my-asg"]],
"period": 60,
"stat": "Average",
"title": "ASG CPU Utilization"
}
}
]
}'แดชบอร์ดข้ามบัญชีและข้าม Region
CloudWatch รองรับการสังเกตการณ์ข้ามบัญชีโดยใช้บัญชีตรวจสอบและบัญชีต้นทาง คุณสามารถกำหนดบัญชีตรวจสอบส่วนกลาง เชื่อมโยงบัญชีต้นทางเข้ากับบัญชีนั้น และสร้างแดชบอร์ดที่ดึงเมทริกและบันทึกจากบัญชีที่เชื่อมโยงทั้งหมดได้ วิธีนี้ไม่จำเป็นต้องสลับบัญชีในคอนโซลเพื่อสังเกตสภาพแวดล้อมที่มีหลายบัญชี วิดเจ็ตข้าม Region ภายในบัญชีเดียวกันได้รับการรองรับโดยตรง เพียงระบุ Region ในคำจำกัดความ JSON ของแดชบอร์ด
# Enable cross-account sharing in a source account
aws cloudwatch put-dashboard \
--dashboard-name MultiRegionView \
--dashboard-body '{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [
["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db",{"region":"us-east-1"}],
["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db-eu",{"region":"eu-west-1"}]
],
"title": "DB Connections: us-east-1 vs eu-west-1"
}
}
]
}'CloudWatch Live Tail
CloudWatch Live Tail (เปิดตัวในปี 2023) ช่วยให้คุณสตรีมเหตุการณ์บันทึกจากกลุ่มบันทึกหนึ่งกลุ่มขึ้นไปได้เกือบแบบเรียลไทม์โดยตรงในคอนโซล CloudWatch หรือ CLI — คล้ายกับการเรียกใช้ tail -f กับไฟล์บันทึก คุณสามารถใช้รูปแบบตัวกรองเพื่อแสดงเฉพาะเหตุการณ์ที่ตรงกัน Live Tail มีประโยชน์อย่างมากระหว่างการนำระบบขึ้นใช้งานหรือการตรวจสอบเหตุการณ์ผิดปกติ เมื่อคุณต้องการดูว่าแอปพลิเคชันกำลังทำอะไรอยู่ในขณะนั้นโดยไม่ต้องเรียกใช้การสืบค้น Insights แบบเต็ม
# Start a Live Tail session for a Lambda function's logs
aws logs start-live-tail \
--log-group-identifiers '/aws/lambda/my-function' \
--log-event-filter-pattern 'ERROR'
# The output streams log events in real time until you cancel (Ctrl+C)Container Insights คืออะไร
CloudWatch Container Insightsเป็นฟีเจอร์ของ CloudWatch ที่รวบรวม รวม และสรุปเมทริกกับบันทึกจากเวิร์กโหลดแบบคอนเทนเนอร์ที่ทำงานบน Amazon ECS (EC2 และ Fargate) และ Amazon EKS (EC2 และ Fargate) โดยมีแดชบอร์ดที่สร้างไว้ล่วงหน้าสำหรับประสิทธิภาพระดับคลัสเตอร์ บริการ โหนด และพ็อด โดยไม่จำเป็นต้องเพิ่มการตรวจวัดให้แต่ละแอปพลิเคชันด้วยตนเอง Container Insights ใช้ CloudWatch Agent หรือเราเตอร์บันทึกของ EKS Fargate เพื่อรวบรวมข้อมูล
# Enable Container Insights on an ECS cluster
aws ecs update-cluster-settings \
--cluster my-ecs-cluster \
--settings name=containerInsights,value=enabled
# Enable Container Insights on EKS (via CloudWatch Agent DaemonSet)
eksctl utils update-cluster-logging \
--cluster my-eks-cluster \
--enable-types all \
--region us-east-1เมทริกของ Container Insights
Container Insights รวบรวมเมทริกในเนมสเปซ ECS/ContainerInsights และ ContainerInsights สำหรับ EKS เมทริกเหล่านี้ประกอบด้วย: ระดับพ็อด — pod_cpu_utilization, pod_memory_utilization, pod_network_rx_bytes; ระดับโหนด — node_cpu_utilization, node_memory_utilization, node_filesystem_utilization; ระดับคลัสเตอร์ — cluster_failed_node_count, cluster_node_count เมทริกทั้งหมดมีแท็กระบุคลัสเตอร์ เนมสเปซ บริการ และมิติของพ็อด เพื่อให้กรองได้อย่างแม่นยำ
# Query pod memory utilization for a specific namespace
aws cloudwatch get-metric-statistics \
--namespace ContainerInsights \
--metric-name pod_memory_utilization \
--dimensions \
Name=ClusterName,Value=my-cluster \
Name=Namespace,Value=production \
--statistic Average \
--period 60 \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00Zแดชบอร์ด Container Insights ในคอนโซล
เมื่อเปิดใช้ Container Insights แล้ว คอนโซล CloudWatch จะมีมุมมองแผนผังคอนเทนเนอร์และการตรวจสอบประสิทธิภาพที่สร้างไว้ล่วงหน้าโดยอัตโนมัติ แผนผังคอนเทนเนอร์จะแสดงทาสก์ ECS หรือพ็อด EKS ของคุณเป็นโทโพโลยีแบบภาพ ซึ่งใช้สีแสดงตามสถานะความสมบูรณ์ และสามารถเจาะลึกไปดูเมทริกของคอนเทนเนอร์แต่ละรายการได้ มุมมองการตรวจสอบประสิทธิภาพมีกราฟอนุกรมเวลาของประสิทธิภาพระดับคลัสเตอร์ โหนด พ็อด และคอนเทนเนอร์ โดยไม่ต้องกำหนดค่าแดชบอร์ดด้วยตนเอง
ประสิทธิภาพทาสก์ ECS ด้วย Container Insights
สำหรับ ECS บน EC2 Container Insights จะติดตั้ง CloudWatch Agent เป็นบริการดีมอนบนอินสแตนซ์คอนเทนเนอร์แต่ละรายการ สำหรับ ECS บน Fargate Container Insights จะใช้ตัวรวบรวมเมทริกแบบไซด์คาร์ของแพลตฟอร์ม Fargate เวอร์ชัน 1.4.0 คุณเข้าถึงเมทริกของ ECS ได้ตามมิติของคลัสเตอร์ บริการ ทาสก์ หรือคอนเทนเนอร์ รูปแบบการแจ้งเตือนที่ใช้กันทั่วไปคือ ตั้งการแจ้งเตือนเมื่อ MemoryUtilized เข้าใกล้ค่า MemoryReserved ของทาสก์ เพื่อจับสภาวะ OOM ที่อาจเกิดขึ้นก่อนที่ทาสก์จะถูกยุติ
# Get memory reservation and utilisation for a service
aws cloudwatch get-metric-statistics \
--namespace ECS/ContainerInsights \
--metric-name MemoryUtilized \
--dimensions Name=ClusterName,Value=my-cluster Name=ServiceName,Value=api-service \
--statistic Average \
--period 300 \
--start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)Application Signals และ ServiceLens
CloudWatch ServiceLensผสานเมทริก บันทึก และการติดตามเข้ากับแผนผังบริการแบบรวมศูนย์ โดยต้องเปิดใช้ AWS X-Ray ควบคู่กับ CloudWatch ServiceLens แสดงภาพโฟลว์คำขอแบบครบตั้งแต่ต้นจนจบระหว่างบริการ เน้นจุดคอขวดด้านเวลาแฝง และแสดงอัตราข้อผิดพลาดของแต่ละบริการ CloudWatch Application Signals (ตัวสืบทอดรุ่นใหม่กว่า) เพิ่มการตรวจวัดให้แอปพลิเคชันโดยอัตโนมัติเพื่อแสดง SLO และ SLI โดยไม่ต้องเปลี่ยนแปลงโค้ด ทำให้ติดตามความน่าเชื่อถือได้มากกว่าเมทริกดิบ
แนวทางปฏิบัติที่ดีที่สุดสำหรับแดชบอร์ด
แดชบอร์ด CloudWatch ที่มีประสิทธิภาพควรปฏิบัติตามแนวทางเหล่านี้: แยกแดชบอร์ดตามกลุ่มผู้ใช้ (ฝ่ายปฏิบัติการ ผู้บริหาร และนักพัฒนา), ใช้วิดเจ็ตสถานะการแจ้งเตือนเป็นสิ่งแรกที่ทีมเห็นเมื่อเข้าเวร, ปักหมุดแดชบอร์ดเพื่อเข้าถึงบ่อย ๆ และใช้การอ้างอิงแบบไดนามิกร่วมกับ CloudFormation เพื่อให้การอ้างอิงเมทริกในแดชบอร์ดสอดคล้องกับชื่อทรัพยากรจริง หลีกเลี่ยงการใส่ข้อมูลมากเกินไปในแดชบอร์ดเดียว — ความอ่านง่ายมีความสำคัญเมื่อคุณกำลังวินิจฉัยเหตุการณ์ผิดปกติภายใต้ความกดดัน
CloudWatch Contributor Insights
CloudWatch Contributor Insightsวิเคราะห์ข้อมูลบันทึกแบบมีโครงสร้างเพื่อระบุผู้มีส่วนร่วม N อันดับแรกของเมทริกในช่วงเวลาหนึ่ง ตัวอย่างเช่น สามารถแสดงว่าที่อยู่ IP ใดสร้างข้อผิดพลาด 5xx มากที่สุด เส้นทาง API ใดมีปริมาณคำขอสูงที่สุด หรือลูกค้ารายใดมีการจำกัดการใช้งาน DynamoDB มากที่สุด กฎจะกำหนดฟิลด์ JSON ที่ต้องแยกและนำมารวม ผลลัพธ์จะแสดงเป็นกราฟอนุกรมเวลาซึ่งอัปเดตอย่างต่อเนื่องเมื่อมีข้อมูลบันทึกใหม่เข้ามา
# Enable Contributor Insights on a DynamoDB table
aws dynamodb enable-kinesis-streaming-destination \
--table-name my-table
# Or enable CloudWatch Contributor Insights via the console:
# CloudWatch -> Contributor Insights -> Create rule
# Log group: /aws/dynamodb/tables
# Contributor field: $.TableName
# Aggregation: COUNT by $.requestIDตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิดของ AWS Solutions Architect (SAA-C03) จากบทเรียนนี้
ทบทวนบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า แดชบอร์ด CloudWatchรองรับวิดเจ็ตหลายประเภทและสามารถรวมเมทริกข้ามบัญชีและ Region ได้, Container Insightsรวบรวมเมทริกระดับพ็อดและโหนดจาก ECS และ EKS โดยอัตโนมัติโดยไม่ต้องเพิ่มการตรวจวัดด้วยตนเอง และ Contributor Insightsระบุผู้มีส่วนร่วมอันดับต้น ๆ จากข้อมูลบันทึกแบบมีโครงสร้าง ลำดับถัดไป เราจะสำรวจ Trail ของ CloudTrail และประวัติเหตุการณ์สำหรับการตรวจสอบในระดับ API
คำถามที่พบบ่อย
บทเรียน “แดชบอร์ด CloudWatch และ Container Insights” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แดชบอร์ด CloudWatch และ Container Insights” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แดชบอร์ด CloudWatch และ Container Insights”
สร้างแดชบอร์ดการดำเนินงานสำหรับหลายบริการ และเปิดใช้ Container Insights เพื่อดูเมตริกประสิทธิภาพระดับคลัสเตอร์ของ ECS และ EKS คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “แดชบอร์ด CloudWatch และ Container Insights” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม
ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เมตริก CloudWatch เนมสเปซ และมิติข้อมูล
- การแจ้งเตือน CloudWatch และการแจ้งเตือนแบบผสม
- บันทึก CloudWatch และ Log Insights
- แดชบอร์ด CloudWatch และ Container Insights