Observability vs Monitoring : ต่างกันยังไง

Rusfirdao
Lotus’s IT
Published in
4 min readJan 30, 2024
Photo by virtualmetric

เชื่อว่าเหล่าชาว IT หลายคนคงเคยได้ยินคำว่า observability และ monitoring มาบ้าง ซึ่ง Observability “การสังเกต” และ Monitoring “การตรวจสอบ” มักถูกใช้แทนกันบ่อย ๆ แต่จริงแล้วทั้งสองมีความแตกต่างกัน ซึ่งในบทความนี้เราจะมาพูดถึงเกี่ยวกับ Observability และ Monitoring ทั้งในด้านความสัมพันธ์และความแตกต่างระหว่าง Observability กับ Monitoring นอกจากนี้ยังพูดถึงว่าหากเราต้องเลือกระหว่าง Observability และ Monitoring อันไหนจะดีกว่ากัน โอเคเราจะเริ่มดูกันเลย

เมื่อเกิดปัญหาในแอปพลิเคชันของเรา, เราต้องการระบุปัญหาหรือต้นตอที่ทำให้เกิดปัญหานั้น เพื่อให้สามารถแก้ไขได้ตรงจุด หากไม่สามารถแก้ไขที่จุดที่เหมาะสมหรือการแก้ไขช้าลง, มันอาจส่งผลกระทบต่อประสบการณ์การใช้งานของลูกค้าหรือเป็นปัญหาที่ทำให้ลูกค้าไม่สามารถใช้แอปพลิเคชันได้, นอกจากนี้ยังอาจทำให้เกิดความผิดพลาดที่อาจส่งผลกระทบต่อภาพลักษณ์ของธุรกิจ

การระบุปัญหาที่แท้จริงและแก้ไขมันที่จุดที่เหมาะสมมีความสำคัญอย่างมาก เนื่องจากสามารถลดเวลาในการตรวจสอบและแก้ไขปัญหา, ทำให้การบริการกลับสู่สภาพปกติได้รวดเร็วขึ้น นอกจากนี้, การแก้ไขที่รวดเร็วยังช่วยลดความผิดพลาดในการให้บริการแก้ไขปัญหาและรักษาความพร้อมใช้งานของแอปพลิเคชัน. ทุกขั้นตอนที่ดำเนินการได้รวดเร็วจะช่วยลดผลกระทบทางธุรกิจและทำให้ภาพลักษณ์ของบริษัทมีความเชื่อถือได้สูงขึ้น.

ซึ่งในส่วนนี้เองการ Monitoring จะช่วยให้เราสามารถรับรู้ถึงสถานการณ์ในขณะนั้น ส่วน Observability จะช่วยบอกให้ทราบว่าเกิดอะไรขึ้น และควรทำอย่างไรกับสถานการณ์ดังกล่าว

ก่อนที่เราจะไปพูดถึงขั้นนั้น เรามาทำความเข้าใจ Observability และ Monitoring ให้มากขึ้นกันก่อนดีกว่า แล้วค่อยมาดูกันว่า เราจะสามารถใช้ทั้งสองอย่างให้เกิดประโยชน์อย่างไรกันบ้าง

Observability และ Monitoring คืออะไร ?

Photo by lightrun

Observability (การสังเกต) และ Monitoring (การตรวจสอบ) มักถูกอ้างอิงพร้อมกันในการสนทนาเกี่ยวกับกลยุทธ์การพัฒนาซอฟต์แวร์และดำเนินการ (DevOps) ซึ่งมีเป้าหมายทางไอทีเดียวกัน. ในขณะที่ทั้งสองมีบทบาทสำคัญในการรักษาระบบ, ข้อมูล, และการรักษาความปลอดภัย, Observability (การสังเกต) และ Monitoring (การตรวจสอบ) เป็นความสามารถที่เสริมกันและไม่ได้หมายถึงสิ่งเดียวกัน.

Observability

Observability (การสังเกต) คือความสามารถในการประเมินสถานะภายในของระบบโดยพิจารณาจากข้อมูลที่ระบบนั้นๆ สร้างขึ้น เช่น logs, metrics, และ traces ความสามารถของ Observability จะช่วยให้ทีมวิเคราะห์ได้ว่า เกิดอะไรขึ้นในสภาพแวดล้อมแบบ multi-cloud ซึ่งช่วยให้คุณสามารถตรวจจับและแก้ไขปัญหาดังกล่าวได้ (กระซิบว่า … หากมีข้อสงสัยเกี่ยวกับ Observability สามารถย้อนไปอ่านบทความนี้เพิ่มเติมได้)

Monitoring

ใน Observability (การสังเกต) ไม่สามารถเป็นไปได้โดยขาด Monitoring (การตรวจสอบ), โดย Monitoring เป็นกระบวนการเก็บรวบรวมและวิเคราะห์ข้อมูล เพื่อติดตามความคืบหน้าของระบบ ใน Monitoring DevOps ใช้ dashboard ที่พัฒนาขึ้น เพื่อเป็นแนวทางในการตัดสินใจ ตรวจสอบสุขภาพของแอปพลิเคชันของคุณโดย Monitoring เน้นไปที่การเฝ้าดู metrics เฉพาะ และ Logs จะให้ข้อมูลเพิ่มเติม เป็นการติดตามเมตริกที่เฉพาะเจาะจง

เมื่อเราทราบความหมายของแต่ละตัวไปแล้ว เพื่อความเข้าใจที่มากยิ่งขึ้น เรามาดูความแตกต่างระหว่าง Observability และ Monitoring กันดีกว่าครับ

ความแตกต่างระหว่าง Observability และ Monitoring คืออะไร?

Photo by arize

Monitoring (การตรวจสอบ) เป็นกระบวนการเก็บรวบรวม และแสดงข้อมูล ของระบบ ในขณะที่ Observability (การสังเกต) สามารถจำแนกสถานะของระบบได้โดยการวิเคราะห์จากข้อมูลที่ระบบรับเข้าและส่งออก ตัวอย่างเช่น

ตัวเลือกที่ 1

“การที่เราสามารถตรวจสอบ metric ที่มีการเปลี่ยนแปลงและแสดงให้เห็น metric ที่เกิดปัญหา”

ตัวเลือกที่ 2

“การสร้างข้อมูลที่เป็นประโยชน์เกี่ยวกับสถานะภายในของระบบ หรือเป็นสิ่งสำคัญในการกำหนดสาเหตุของปัญหา”

มาลองเดากันเล่นๆ ว่าตัวเลือกที่ 1,2 อันไหนเป็น Monitoring อันไหนเป็น Observability

ติ๊ก

.

.

.

ต่อก

.

.

.

ติ๊ก

.

.

.

ต่อก

.

.

.

เฉลย

การที่เราสามารถตรวจสอบ metric ที่มีการเปลี่ยนแปลงและแสดงให้เห็น metric ที่เกิดปัญหา — อันนี้ถือเป็น Monitoring แต่ถ้าเป็นการสร้างข้อมูลที่เป็นประโยชน์เกี่ยวกับสถานะภายในของระบบ หรือเป็นสิ่งสำคัญในการกำหนดสาเหตุของปัญหา — อันนี้ถือเป็น Observability

หลังจากที่เรารู้ถึงความแตกต่างของทั้งสองไปแล้ว
ถัดมาเรามาดู ความสัมพันธ์ระหว่าง Observability และ Monitoring กันบ้างดีกว่า

ความสัมพันธ์ระหว่างการสังเกตและการตรวจสอบ

Photo by linuxblog

Observability และ Monitoring มีแนวคิดและเป้าหมายที่คล้ายคลึงกัน โดยทั้งคู่เน้นการให้ข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพและการทำงานของระบบ เพื่อช่วยในการตรวจจับและแก้ไขปัญหา ต่างก็ใช้เทคนิคการเก็บรวมรวมข้อมูล การวิเคราะห์ และการแสดงภาพเพื่อให้วิศวกรได้ข้อมูลที่จำเป็นในการดำเนินการตรวจจับปัญหาที่เกิดขึ้นในระบบ

Monitoring มักเน้นไปที่การตรวจสอบสถานะและประสิทธิภาพของระบบในระหว่างเวลาที่ระบบทำงาน การวัดและรายงานเหตุการณ์ที่เกิดขึ้นทำให้ทราบถึงปัญหาทันทีและช่วยในการทำงานแก้ไขที่รวดเร็ว

Observability มุ่งเน้นไปที่ความเข้าใจลึกเกี่ยวกับสถานะและพฤติกรรมภายในระบบ การติดตามและบันทึกข้อมูลที่ละเอียดชัดชื่นทำให้สามารถวิเคราะห์ปัญหาที่ซับซ้อนได้ และช่วยในการตรวจจับปัญหาที่เกิดขึ้นในระบบอย่างละเอียด

ทั้ง Monitoring และ Observability เป็นเครื่องมือที่สำคัญในการดูแลระบบ เพื่อให้วิศวกรสามารถตรวจจับและแก้ไขปัญหาได้อย่างมีประสิทธิภาพ โดยมีวัตถุประสงค์สำคัญคือเพิ่มความมั่นใจในความน่าเชื่อถือของระบบ และเพิ่มประสิทธิภาพการทำงานของระบบในทุกระดับ

แล้วถ้าต้องเลือกระหว่าง Observability and Monitoring อันไหนดีกว่ากัน ? แล้วเราจะรู้ได้อย่างไรอันไหนเหมาะกับทีมของเรา?

Photo by sentinelone

Observability และ Monitoring มักจะเป็นส่วนสำคัญใน DevOps แต่เมื่อเราต้องเลือกเครื่องมือที่เหมาะสมสำหรับทีม, เราอาจรู้สึกลังเลระหว่างเครื่องมือ Monitoring และ Observability

โดย Monitoring จะให้มุมมองของข้อมูลที่ค่อนข้างจำกัดโดยจะเน้นที่ (metrics) ตัวใดตัวหนึ่ง วิธีการนี้ช่วยให้เราเข้าใจได้ว่าระบบล้มเหลวเนื่องจากอะไร อีกทั้ง Monitoring มักเน้นไปที่ตัวชี้วัดสำคัญ เช่น อัตราการใช้งาน หรือจำนวนปริมาณการใช้งานที่เข้ามา

ในขณะที่ Observability เป็นสิ่งสำคัญที่ช่วยในการทำการวิเคราะห์หาสาเหตุและแก้ปัญหาของระบบ ด้วยซอฟต์แวร์ Observability, เราสามารถทำงานได้สะดวกขึ้นมากเมื่อเทียบกับการพึ่งพาเพียงบนเครื่องมือ Monitoring เพียงอย่างเดียว, การใช้งานทั้งสองเครื่องมือนี้ร่วมกันช่วยสนับสนุนทีม IT ที่แตกต่างกันและให้ข้อมูลมุมมองที่มีน้ำหนักมากเกี่ยวกับสุขภาพ, ประสิทธิภาพ, และความพร้อมในระบบต่าง ๆ บนโครงสร้าง IT ของคุณ

สำหรับทีม DevOps เครื่องมือ Observability อาจจะเหมาะสมมากกว่าเครื่องมือ Monitoring ในการตรวจจับ, การแก้ไขปัญหา, และการแก้ปัญหาได้อย่างรวดเร็ว

การใช้ Observability และ Monitoring เพื่อปรับปรุงด้านความปลอดภัยของบริษัท

เมื่อเทียบ Observability กับ Monitoring, ทุกส่วนล้วนมีบทบาทที่สำคัญ และมีส่วนที่แตกต่างกันเพียงเล็กน้อย อย่างไรก็ตาม, ทั้งสองนี้เป็นสิ่งสำคัญในการป้องกันความปลอดภัยของบริษัทของคุณจากผู้ใช้ที่ไม่ได้รับอนุญาต

ในขณะที่การสังเกตและการตรวจสอบมักถูกใช้เพื่อติดตามสุขภาพและประสิทธิภาพ, มันยังมีหน้าที่ในการรักษาระบบ IT ของคุณปลอดภัย การสร้าง Observability ทั่วทั้งโครงสร้าง IT ของคุณทำให้ปัญหาถูกแก้ไขได้อย่างรวดเร็ว นอกจากนี้, ยังสามารถให้ข้อมูลลึกลงไปในการใช้งานของสแต็กในเทคโนโลยีของคุณ, โดยสามารถเตือนล่วงหน้าเมื่อเกิดความผิดปกติและการเข้าถึงที่ไม่ได้รับอนุญาต

สรุป

Observability และ Monitoring เป็นความสามารถที่สำคัญในการดูแลระบบ IT ขององค์กรเพื่อป้องกันความปลอดภัยและรักษาประสิทธิภาพ โดยมีบทบาทและความสามารถที่แตกต่างกันบางประการ:

Monitoring (การตรวจสอบ):

  • ความมุ่งหวัง: การตรวจสอบมักจะมีเป้าหมายในการติดตามสถานะปัจจุบันของระบบและระบบการทำงาน.
  • ข้อมูล: การตรวจสอบมักจะให้ข้อมูลเกี่ยวกับสถานะปัจจุบันของระบบ, เช่น CPU usage, memory usage, network traffic, และอื่นๆ.
  • การแจ้งเตือน: มักให้การแจ้งเตือนเมื่อมีปัญหาหรือความผิดปกติเกิดขึ้น.

Observability (การสังเกต):

  • ความมุ่งหวัง: การสังเกตมุ่งหวังที่จะให้ความเข้าใจลึกซึ้งเกี่ยวกับการทำงานภายในระบบ
  • ข้อมูล: การสังเกตบนระบบทุกระบบ, และการสังเกตมักรวมถึงการตรวจสอบ (monitoring) ด้วย.
  • การทำความเข้าใจ: การสังเกตมีเป้าหมายที่จะให้ความเข้าใจลึกลงไปในการทำงานภายในของแอปพลิเคชันหรือระบบโดยรวม.
  • การแก้ไขปัญหา: การสังเกตทำให้ง่ายต่อการแก้ไขปัญหา, เนื่องจากมีข้อมูลที่มากพอที่จะระบุตำแหน่งของปัญหาและการกระทำที่จำเป็น.

การใช้งานเพื่อความปลอดภัย:

  • Monitoring สำหรับความปลอดภัย: มักจะเน้นการตรวจสอบและรายงานสถานะปัจจุบันของระบบ, เพื่อตรวจสอบความปลอดภัยของระบบ
  • Observability สำหรับความปลอดภัย: การสังเกตมีบทบาทที่สำคัญในการตรวจสอบและทำความเข้าใจกับการทำงานของระบบ, ทำให้สามารถตรวจสอบและป้องกันการละเมิดความปลอดภัยได้มากขึ้น.

การนำทั้งสองมาใช้ร่วมกันช่วยให้องค์กรมีมุมมองที่ครอบคลุมทั้งที่เกี่ยวกับสถานะปัจจุบันและความเข้าใจลึกลงไปในระบบ IT การตรวจสอบจะช่วยตรวจจับปัญหาและทำให้สามารถแก้ไขได้อย่างรวดเร็ว, ในขณะที่การสังเกตจะช่วยให้มีความเข้าใจลึกลงไปในการทำงานของระบบเพื่อป้องกันและตอบสนองต่อภัยคุกคามความปลอดภัย

Photo by unsplash

ส่งท้าย

วันนี้เราก็ได้รู้ถึงความหมาย ความแตกต่าง ความสัมพันธ์ระหว่าง observability (การสังเกต) และ Monitoring (การตรวจสอบ) กันไปแล้ว สุดท้ายนี้ ถ้าคุณผู้อ่าน อ่านมาถึงจุดนี้ซึ่งเป็นส่วนสุดท้ายของบทความนี้ ผู้เขียนดีใจอย่างสุดซึ่งที่คุณอ่านมันจนจบ และอยากจะบอกว่าถึงแม้ว่าบทความนี้อาจไม่ได้ดีไปกว่าบทความอื่น แต่ตัวผู้เขียนเองก็หวังว่าทุกคนที่ได้หลงเข้ามาอ่านบทความนี้แล้วจะได้รับความรู้ ความเข้าใจเกี่ยวกับความหมาย ความแตกต่าง และความสัมพันธ์ระหว่าง Observability และ Monitoring มากขึ้น

หากมีข้อผิดพลาดประการใด ผู้เขียนต้องขออภัยมา ณ ที่นี้ด้วย แล้วเจอกันใหม่ ในบทความหน้า ขอบคุณค้าาาา

--

--