แนะนำการใช้งาน Dashboard ใน CloudWatch และตรวจสอบว่าสามารถทำอะไรได้บ้าง
บทความนี้แปลมาจากบทความที่เป็นภาษาญี่ปุ่นที่ชื่อว่า CloudWatch でダッシュボードを作りたい、何ができるか調べてみた โดยเจ้าของบทความนี้คือ คุณ Yoshii Ryo เป็นคนญี่ปุ่นครับ
เมื่อแปลจากภาษาญี่ปุ่นมาเป็นภาษาไทยแล้วผมได้เรียบเรียงเนื้อหาใหม่เพื่อให้เข้าใจง่ายขึ้น เนื่องจากบางครั้งอาจมีการอัปเดตข้อมูลใหม่ จึงมีความจำเป็นต้องอัปเดตให้เป็นข้อมูลปัจจุบัน
สำหรับการมอนิเตอร์ระบบ สิ่งที่สำคัญคือเราควรสร้าง Monitoring dashboard เตรียมไว้
บางทีเราอาจต้องการใช้งานฟังก์ชันต่างๆ ในแดชบอร์ด เช่น การเลือกเมตริกอย่างละเอียดที่แสดงสถานะระบบให้เข้าใจได้อย่างรวดเร็ว แล้ววางไว้ในแดชบอร์ดเริ่มต้น และแสดงบนจอมอนิเตอร์ขนาดใหญ่ได้
จากประสบการณ์ส่วนตัว ผมรู้สึกว่าผู้ใช้งาน AWS ส่วนใหญ่ไม่ค่อยได้ใช้ประโยชน์จาก CloudWatch dashboard เหตุผลเป็นเพราะว่าผู้ใช้งานไม่รู้ว่าตัวแดชบอร์ดนั้นสามารถทำอะไรได้บ้าง
ในบทความครั้งนี้ผมจะมาลองใช้ฟังก์ชันต่างๆ ดูว่าเราสามารถทำอะไรในแดชบอร์ดได้บ้าง
CloudWatch dashboard
CloudWatch เป็นบริการ Monitoring มาตรฐานของ AWS ที่มีฟังก์ชันแดชบอร์ดไว้ให้ใช้งานด้วยครับ
Creating a CloudWatch dashboard
ค่าบริการ
เมื่อสร้างแดชบอร์ดแล้วจะมีค่าใช้จ่ายเกิดขึ้น
ค่าใช้จ่ายในแต่ละฟังก์ชันจะแยกกัน เช่น Metrics, Log และอื่นๆ เป็นต้น ในขณะที่สร้างพยายามอย่าให้มากเกินไป
แดชบอร์ด:
- Free Tier: 3 แดชบอร์ดสำหรับตัวชี้วัดสูงสุด 50 ดัชนีต่อเดือน
- Paid Tier: 3.00 USD ต่อแดชบอร์ดต่อเดือน
การแชร์ CloudWatch dashboard
CloudWatch dashboard สามารถแชร์ร่วมกันได้ดังนี้
- แชร์กับที่อยู่อีเมลและการยืนยันรหัสผ่าน
- แชร์สาธารณะ
- แชร์กับ SSO ที่เชื่อมโยงกับ Cognito
Share your Amazon CloudWatch dashboards with anyone using AWS Single Sign-On
อย่างไรก็ตาม มีวิดเจ็ตบางอย่างที่ไม่สามารถแสดงได้ เช่น วิดเจ็ต CloudWatch Logs และวิดเจ็ต Composite alarm เป็นต้น ดังนั้นแนะนำให้ตรวจสอบล่วงหน้าก่อนครับ
Cross account
เราสามารถใช้งานข้ามรีเจี้ยนได้ จึงไม่จำเป็นต้องสลับรีเจี้ยนหรือ Switch Role เพราะ CloudWatch dashboard รองรับ Cross-account (ข้ามบัญชี) และ Cross-region (ข้ามรีเจี้ยน)
Cross-account cross-Region dashboards
แนะนำวิดเจ็ต
ผมจะมาแนะนำวิดเจ็ตที่สามารถวางใน CloudWatch dashboard ได้
Line (กราฟเส้น)
นี่เป็นกราฟเส้นทั่วไปที่พบเห็นได้บ่อย ซึ่งจะแสดงในแนวโน้ม เช่น อัตราการใช้งานทรัพยากรเมื่อเทียบกับเวลา, จำนวนการเข้าถึง และการเชื่อมต่อ เป็นต้น
เมื่อแสดงบนแดชบอร์ด จะทำให้สะดวกในการจัดกลุ่มเมตริกเดียวกันตามที่แสดงในตัวอย่างด้านล่างนี้
Number (กราฟค่าตัวเลข)
นี่เป็นวิดเจ็ตที่จะช่วยให้เราสามารถเข้าใจค่าเมตริกและแนวโน้มล่าสุดในเวลาเดียวกันได้
แนะนำให้ใช้เมื่อเรามีเมตริกที่ต้องการ Monitoring
Gauge (กราฟมาตรวัด)
นี่เป็นวิดเจ็ตที่จะช่วยให้เราสามารถเข้าใจขีดจำกัด, ค่าสูงสุด และค่าปัจจุบันได้เป็นอย่างดี
ซึ่งมีประโยชน์ในตอนที่เราต้องการทราบค่าปัจจุบันภายในขอบเขตที่มีอยู่ เช่น เราต้องการทราบสถานะการปรับ AutoScaling เป็นต้น
Stacked area (กราฟแบบวางซ้อนกัน)
เมื่อแสดงหน้าจอแดชบอร์ดแบบนี้แล้ว ทำให้รู้สึกเหมือนว่าเป็น Site Reliability Engineering (SRE) เลยครับ
เราสามารถแสดงเมตริกที่มีอยู่ได้ด้วยตัวบ่งชี้หลายตัว
ตัวอย่างกราฟด้านล่างแสดงถึงเวลาตอบสนองใน Percentile ที่ p50, p99 และ p50 หากแสดงผลค่าเหล่านี้ตามปกติ อาจจะทำให้สับสนระหว่างค่าเฉลี่ยกับค่าวิกฤต (Critical Value) ได้
การแสดงผลโดยใช้ Percentile ที่ต่างกันจะทำให้สามารถเข้าใจกราฟได้ง่ายยิ่งขึ้น
Bar (กราฟแท่ง)
กราฟนี้ใช้เมื่อเปรียบเทียบกับข้อมูลที่จัดประเภทหรือจัดหมวดหมู่
ภาพด้านล่างนี้แสดงการเปรียบเทียบจำนวนการเข้าใช้บริการของลูกแมว ลูกสุนัข และกระต่ายในร้านขายสัตว์เลี้ยง เหมาะสำหรับกรณีที่ใช้ในการเทียบผลรวมของค่าในช่วงเวลาที่ผ่านไป
Pie (กราฟวงกลม)
กราฟนี้เป็นกราฟที่เราค่อนข้างคุ้นเคยกัน นั่นก็คือกราฟวงกลม มีประโยชน์ในกรณีที่ต้องการแสดงอัตราส่วนหรือเปอร์เซ็นต์
ซึ่งมีกรณีการใช้งานที่หลากหลาย เช่น อัตราส่วนของรหัสตอบกลับ, รหัสประเทศต้นทาง และอัตราส่วนของ API ที่มีการเรียกใช้งาน เป็นต้น
Text
นี่เป็นวิดเจ็ตที่สามารถบันทึกข้อความที่ต้องการได้ในรูปแบบ Markdown ซึ่งเป็นวิดเจ็ตส่วนตัวที่ผมชอบใช้มากที่สุด
จุดประสงค์ของแดชบอร์ดคือการทำให้ทุกคนเห็นและสามารถเข้าใจสถานะของระบบได้
ในส่วนนี้ผมแนะนำให้เขียนข้อมูลจำพวกคำอธิบายแดชบอร์ด, ลิงก์สำหรับคู่มือขั้นตอนการทำงาน และเมตริกที่ควรตรวจสอบ เป็นต้น
Custom widget
เราสามารถเพิ่มวิดเจ็ตของเราโดยใช้ Lambda ได้ หากใครสนใจดูรายละเอียดได้ที่ลิงก์ด้านล่างนี้
Alarm status
วิดเจ็ตนี้เป็นการแสดงสถานะการแจ้งเตือน CloudWatch ซึ่งเป็นข้อดีที่สามารถแสดงผลโดยเลือกหลายรายการได้
การแจ้งเตือนที่สำคัญที่ไม่ต้องการพลาด แนะนำให้แสดงผลในแดชบอร์ดนี้
Logs table
นี่เป็นวิดเจ็ตที่แสดงผลการค้นหา CloudWatch Logs Insights ในรูปแบบตาราง
มีแนวโน้มที่หลังจากวิเคราะห์ Access log (UA, Geo เป็นต้น) แล้วต้องการแสดงในแดชบอร์ด
Explorer
อันนี้เป็นการแสดง Metrics Explorer ในแดชบอร์ด
Metrics Explorer เป็นเครื่องมือที่รวบรวมและสร้างภาพแต่ละ Tag หรือ Property ซึ่งพัฒนามาให้สามารถแสดงรายการได้อย่างชัดเจนและเข้าใจง่าย
สรุป
แดชบอร์ดเป็นสิ่งจำเป็นสำหรับการ Monitoring ซึ่งผมได้ลองตรวจสอบดูแล้วว่าเราสามารถทำอะไรใน CloudWatch ได้บ้าง หลักๆก็คือเป็นการสร้างแดชบอร์ดที่ทุกคนดูแล้วสามารถเข้าใจสถานะของระบบได้เป็นอย่างดีต่อครับ
ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ
บทความต้นฉบับ
แปลโดย: POP จากบริษัท Classmethod (Thailand) ครับ !