ภาพรวม Application Insights

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

ความสำคัญของ Observability

การเปรียบเทียบ Observability

Azure API Management

ประเภทของ Telemetry

  • Logging
  • Tracing
  • Metrics

Azure API Management

แนะนำ Logging

  • Logging บันทึกแต่ละเหตุการณ์ในรูปแบบที่อ่านได้
  • ทุก log entry มี ระดับความรุนแรง (ปกติ, เตือน, ข้อผิดพลาด)
    • เปรียบเหมือนเลขาฯ จดบันทึกในการประชุม
  • บันทึกทุกสิ่งที่เกิดขึ้นภายในแอปพลิเคชัน

Logging

Azure API Management

ภาพรวม Tracing

Traces

  • log entry หลายรายการที่เกี่ยวข้องกันรวมกันเป็น trace ได้
  • ลองนึกภาพแต่ละ request เป็นพัสดุที่มีสติกเกอร์ติดตาม
  • APIM แนบ correlation ID ไว้ใน request headers
  • backend ที่ติดตั้ง Application Insights SDK จะตรวจพบ ID นี้โดยอัตโนมัติ
  • ทำให้แพลตฟอร์มสามารถเชื่อมเส้นทางทั้งหมดของ request ได้
Azure API Management

ความสำคัญของ Metrics

  • Metrics คือการวัดค่าอย่างง่าย (ตัวนับ, ค่าเฉลี่ย, ระยะเวลา)
    • เปรียบเหมือนมาตรวัดความเร็วรถที่แสดงความเร็วปัจจุบัน
  • ตัวอย่าง Metrics:
    • จำนวนข้อผิดพลาด
    • ค่าเฉลี่ย latency ของ request
    • จำนวนผู้ใช้งานที่ active อยู่
  • ติดตามเป็น time series เสมอ เพื่อแสดงว่าเกิดอะไรขึ้นเมื่อใด

Metrics

Azure API Management

Dashboard ของ Application Insights

Dashboard

  • SLA = ขีดจำกัดความเร็ว
    • สัญญาณเตือนดังขึ้นเมื่อเกินค่าที่กำหนด
  • Dashboard = กำแพงจอมอนิเตอร์ของคุณ

    • มองแวบเดียวควรตอบได้ว่า: เร็วพอไหม? มีข้อผิดพลาดไหม?
    • ใน Azure Monitor Workbooks/Dashboard ให้ปักหมุดชาร์ตสำหรับ request count, error rate และ latency
  • Alerts = เข็มขัดนิรภัยของคุณ

    • สร้าง alert rules ที่ผูกกับชาร์ตหรือ logs
    • เชื่อมต่อกับ Action Groups (อีเมล, Teams, PagerDuty)
Azure API Management

Kusto Query Language

  • เมื่อมีสิ่งผิดปกติเกิดขึ้น KQL คือ นักสืบ ของคุณ
  • เปิด Logs เพื่อ query telemetry ของแอปพลิเคชัน
    • เหมือนกับการค้นดูข้อมูลกล่องดำของเครื่องบิน
  • Saved queries ช่วยให้ไปถึง ต้นตอของปัญหา จาก alert ได้ภายในไม่กี่นาที
  • ยืนยันว่าแก้ไขสำเร็จโดยดูค่าต่างๆ กลับสู่ระดับปกติ

ตัวอย่าง KQL

Azure API Management

มาฝึกกันเถอะ!

Azure API Management

Preparing Video For Download...