สวัสดีครับทุกท่านสำหรับบทความนี้จะเป็นตอนที่ 3 สำหรับเรื่องราวเกี่ยวกับ Monitoring vs Observability ครับ โดย 2 ตอนก่อนหน้านี้ผมได้เล่าที่มาที่ไปตลอดจนรายละเอียดต่างๆ ไปแล้วสำหรับท่านใดที่เพิ่งจะมาอ่านบทความตอนนี้ สามารถย้อนกลับไปอ่านบทความทั้ง 2 ตอนก่อนนะครับ และอย่างที่ผมได้ทิ้งท้ายไปไว้ในบทความตอนที่ 2 ว่า ในบทความต่อมา (ตอนที่ 3) ผมจะพาทุกท่านไปทำความรู้จักกับ Service ตัวหนึ่งใน Microsoft Azure ที่จะเข้ามาช่วยในเรื่องของการทำ Monitoring และ Observability ครับ และ Service ดังกล่าวนี้มีชื่อว่า "Azure Monitor" ครับ
ทำความรู้จักกับ Azure Monitor
Azure Monitor เป็น Service ใน Microsoft Azure โดยมีความสามารถในการ Monitoring และ Analytics กับ Azure Resources, On-Premise Infrastructure, และอื่นๆ และมาพร้อมกับ AI & ML เทคโนโลยีครับ โดยตัวของ Azure Monitor จะโฟกัสการ Monitoring แบบ Deep Insights และการทำ Analytics เพื่อให้เราเห็นและเข้าใจ Workloads หรือ Azure Resources นั้นๆ (เช่น Applications) มี Performance และ Availability เป็นอย่างไร อีกทั้ง Azure Monitor ยังทำการ Identify เรื่องของ Optimization อีกด้วย ยกตัวอย่างเช่น เมื่อเรานำเอา Azure Monitor มาทำการ Monitor Applications, Azure Monitor จะทำการ Monitor หรือตรวจสอบ Performance ของ Applications ดังกล่าวแบบ Real-Time, ทำการ Identify Bottlenecks, และ Issues ต่างๆ ที่เกี่ยวข้องกับเรื่องของ Performance และ Availability
*หมายเหตุ: Workloads หมายความถึงระบบหรือ Applications ต่างๆ ที่รันอยู่ Virtual Machines, PaaS Services, Container Services, เป็นต้น
และอย่างที่เกริ่นไว้ก่อนหน้านี้ว่าได้มีการนำเอา AI และ ML เทคโนโลยีมาใช้กับ Azure Monitor, ทำให้ Azure Monitor สามารถทำการค้นหา (Detect) Anomalies และ Potential Issues ก่อนที่มันจะส่งผลกระทบกับ Performance และ Availability ของ Applications นั้นๆ นอกจากนี้แล้ว Azure Monitor ได้เตรียม View หรือมุมมองที่จะช่วยให้เราเห็นภาพและเข้าใจถึงปัญหาต่างๆ ที่ผลกับ Performance ของ Applications ส่งผลทำให้ง่ายต่อการที่เราจะทำการแก้ไข (Troubleshooting)
นอกจากนั้นแล้ว Azure Monitor ยังเป็นอีก Service หนึ่งที่ต้องอาศัยการทำงานร่วมกับ Services ตัวอื่นๆ ใน Microsoft Azure ตัวอย่างของ Services อื่นๆ ใน Microsoft Azure ที่ถูกนำเอามา Integrate และทำงานร่วมกับ Azure Monitor เช่น Azure Policy, Azure Log Analytics Workspace, เป็นต้น โดยเฉพาะ Azure Log Analytics Workspace ถือว่า Service และส่วนประกอบที่สำคัญสำหรับ Azure Monitor ครับ เพราะจากข้างต้นทุกท่านจะเห็นแล้วว่า Azure Monitor สามารถทำการตรวจสอบ (Monitoring) และ วิเคราะห์ (Analytics) Performance และ Availability ของ Workloads/Apps, และอื่นๆ การที่จะดำเนินการดังกล่าวนี้ได้ จะต้องมีการเก็บรวบรวมข้อมูลจาก Workloads/Apps ที่เราต้องการให้ Azure Monitor ทำการตรวจสอบ และข้อมูลที่ว่านี้แบ่งออกเป็น 2 ชนิด คือ
1. Metric Data, ข้อมูลชนิดนี้เป็นตัวเลขที่เกี่ยวข้องกับการใช้งาน (Usage) จาก Processor, Memory, และอื่นๆ
2. Log Data, ข้อมูลชนิดนี้เป็นข้อมูลที่เก็บเหตุการณ์และ Activities ต่างๆ
โดยข้อมูลทั้ง 2 ชนิดข้างต้นจะถูกรวบรวมมาจาก Workloads ที่เราต้องการครอบคลุมทั้ง On-Premise และ On Cloud ครับ
ดังนั้นสิ่งที่เราต้องเตรียมไว้ก่อน คือ ที่ที่สำหรับเก็บข้อมูลดังกล่าวครับ และ Azure Log Analytics Workspace คือ Service ที่เตรียมที่สำหรับเก็บข้อมูลที่ว่านี้ได้ครับ อีกทั้งเรายังสามารถทำการ Query ข้อมูลที่เก็บใน Azure Log Analytics Workspace ได้อีกด้วยครับ โดยใช้ Query Language ที่ชื่อว่า "Kusto Query Language" หรือ "KQL" ครับ
ดังนั้นสิ่งสำคัญสิ่งหนึ่งเลยก่อนที่เราจะใช้งาน Azure Monitor คือ การ Planning และ Designing เพื่อเตรียมความพร้อมก่อนที่จะนำเอา Azure Monitor มาใช้งาน เนื่องจากมีหลายปัจจัย เช่น Cost, Security, และอื่นๆตลอดจนความต้องการ (Requirements) ที่จะต้องนำเอาคิดและพิจารณาครับ
รายละเอียดเพิ่มเติมสำหรับ Azure Monitor สามารถไปที่ Link นี้ได้เลยครับ, Azure Monitor | Microsoft Azure
และ Link นี้ครับ, Azure Monitor documentation - Azure Monitor | Microsoft Learn
ประมาณนี้ครับผม.....