Datadog 101

Poobet Kan
Ascend Developers
Published in
3 min readFeb 21, 2024

--

Datadog คืออะไร datadog คือ application ที่มีความสามารถช่วยให้การดูแลระบบและตรวจสอบ service ทำได้ง่ายขึ้น โดยมีการติดตั้ง agent deploy คู่กับ service เพื่อเก็บข้อมูล เช่น logs, stack trace logs, access logs, JVM, CPU, memory เป็นต้น และมีการ scan code เพื่อช่วยตรวจสอบความปลอดภัยของระบบได้

โดยบทความนี้จะกล่าวถึง Datadog ในแง่ของ APM(Modern Application Performance Monitoring) หรือรูปแบบของการใช้งาน Application เพื่อรวบรวมข้อมูลการตรวจสอบติดตามประสิทธิภาพของ Application ด้วยข้อมูลเชิงลึกแบบเรียลไทม์เพื่อให้สามารถระบุปัญหา และแก้ไขได้อย่างรวดเร็ว เพื่อให้สามารถใช้งานพิ้นฐานของ datadog ได้

Datadog ทำอะไรได้บ้าง

  • สามารถระบุแหล่งที่มาของปัญหาได้ว่าเกิดที่ส่วนใดของ code
  • สามารถตรวจสอบประสิทธิภาพของการทำงานของแต่ละ service ที่มีการเชื่อมต่อกันได้
  • สามารถตรวจการ deploy service และ environment ที่ service ทำการ run ได้ว่าถูกต้องสมบูรณ์หรือไม่
  • มี Watchdog AI ที่เป็น AI ช่วยในการ scan error และปัญหาที่เกิดขึ้นทำให้ทราบถึงปัญหาได้อย่างรวดเร็ว
  • ช่วย scan code และ library ที่ใช้ทำให้ทราบถึงปัญหาด้าน security ของ code ที่เป็น opensource ต่างๆได้

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

วิธีใช้งานเบื้องต้น

การตรวจสอบ logs

เมื่อเข้ามาที่ Datadog จะพบกับเมนู ดังนี้

รูปที่ 1

เราสามารถคลิ๊กเลือกเมนู Logs ได้ทันที และจะแสดงเป็น Logs แบบหน้าจอ Analytics ดังรูปที่ 2 หรือเลือกเมนูย่อย Patterns ก็จะแสดงดังรูปที่ 3

รูปที่ 2 Analytics
รูปที่ 3 Patterns

ซึ่งแบบที่ Analytics และ Patterns จะมีหน้าตาโดยรวมในการแสดงผล คล้ายกันแต่ Patterns จะมีการจัดกลุ่มของ logs ที่มีหน้าตา message คล้ายกันรวมเป็นกลุ่มเดียวกันช่วยไม่ให้ต้อง filter logs ด้วยตนเอง

ในรูปที่ 2 หากเราเลือก logs error บรรทัดใดบรรทัดหนึ่งจะสามารถแสดง class method หรือ downstream service ที่เกี่ยวข้องกับระบบ และระบุตำแหน่งที่ error ได้ตามรูปที่ 4 โดยตำแหน่งที่เกิด error จะเป็นสีแดงและมีเครื่องหมาย ! กำกับอยู่ซึ่งช่วยให้ตรวจสอบปัญหาได้ง่ายขึ้น

รูปที่ 4

การ monitoring cpu และ memory

การ monitoring cpu และ memory ของ service สามารถเข้าไปที่เมนู Infrastructure > Kubernetes > Resource Utilization > เลือก service ที่ต้องการจะตรวจสอบ cpu และ memory หลังจากนั้นหน้าจอจะแสดงผล cpu และ memory ทั้งหมดของ service ดังรูปที่ 5 ซึ่งสามารถเลือก monitor เป็นราย pod ได้ด้วยเช่นกัน

รูปที่ 5 cpu and memory

การตรวจสอบ error ที่เกิดขึ้นในระบบ

สามารถเลือกไปที่ Menu APM และเลือก service ที่ต้องการจะตรวจสอบได้ทันทีจะแสดงดังรูปที่ 6

รูปที่ 6 Error tracking

ในเมนูนี้จะขออธิบายเพิ่มเติมสักเล็กน้อย จะเห็นที่หน้าจอจะมี Watchdog Insights ให้เลือกคลิ๊ก view all โดยเมื่อทำการคลิ๊กเมนูนี้จะมี AI ของ datadog หรือในชื่อ watchdog จะตรวจสอบ logs ให้เบื้องต้น โดยทำการค้นหา error ที่เกิดขึ้น และรวมกลุ่ม error logs ของระบบ และคำนวณเป็นเปอร์เซ็นต์ออกมาว่าเกิดขึ้นกี่เปอร์เซ็นต์จาก error ที่เกิดในระบบ ตามที่แสดงในรูปที่ 7 โดยตัวอย่าง service เขียนโดยจาวา error ที่เกิดขึ้นก็จะระบุว่าใน class นั้นๆเกิด error เท่าใด

รูปที่ 7 Error

ย้อนกลับไปที่รูปที่ 6 หากเราเลือกเมนู ERROR TRACKING ที่อยู่ภายใต้ service summary หน้าจอจะแสดง error ที่อาจจะส่งผลกระทบต่อระบบได้ จำเป็นต้องตรวจสอบ ดังแสดงในรูปที่ 8 และ developer หรือผู้ดูแลระบบควรตรวจสอบ

รูปที่ 8

การตรวจสอบ latency ของ service

สามารถทำได้โดยเลือกไปที่เมนู APM จากนั้นเลื่อนลงมาด้านล่างจะเห็นเมนู Resource ภายใต้เมนูนี้ โดยเมนู Resource จะแสดง latency ของ service ในรูปแบบของกราฟ และในรูปแบบของ api

รูปที่ 9
รูปที่ 10

จากที่ได้เขียนมาข้างต้นจะเป็นการยกตัวอย่าง และวิธีเข้าถึงหน้าจอบางส่วนที่จำเป็นในการ monitor ระบบโดยใช้ Datadog เพียงบางส่วน โดยยังมีความสามารถ และเมนูที่หลากหลายให้สามารถเลือกใช้งานได้อีกมาก ทั้งนี้ผู้เขียนพึ่งเริ่มต้นใช้งานได้ไม่นานจึงอยากจะแชร์การใช้งานพื้นฐาน เพื่อให้ผู้เริ่มต้นใหม่สามารถทราบถึงเมนูต่าง ๆ ที่น่าจะได้ใช้งานบ่อยพอสังเขป

ขอบคุณแหล่งอ้างอิง :

--

--