Monitoring คือกระบวนการติดตามสถานะ (status) และประสิทธิภาพของระบบ บริการ และเซิร์ฟเวอร์ในเวลาจริง เป็นส่วนสำคัญของ DevOps ที่ช่วยให้คุณรู้เรื่องปัญหาโครงสร้างพื้นฐานก่อนที่ผู้ใช้จะเจอ ด้วยการติดตามปัจจัยต่างๆ เช่น CPU usage, memory, disk space, network traffic, response time และ uptime ของ Cloud VPS
ทำไม Monitoring มีความสำคัญใน DevOps?
DevOps มีหลักการสำคัญ คือ “You build it, you run it” หรือ “ใครสร้างแอฟพลิเคชันก็ต้องรักษา” ดังนั้น monitoring จึงมีความสำคัญอย่างยิ่ง เพราะช่วยให้:
- ตรวจจับปัญหาก่อนแล้ว: รู้เรื่องปัญหาเร็วกว่าผู้ใช้ เพื่อแก้ไขอย่างเร็ว
- ลดเวลาแก้ไข (MTTR): ทำให้การแก้ไขปัญหาเร็วและมีประสิทธิภาพมากขึ้น
- วางแผนความจุ (Capacity Planning): รู้ว่า resource เพียงพอหรือไม่ ต้องเพิ่มเซิร์ฟเวอร์ CloudVPS เมื่อไร
- ปรับปรุงประสิทธิภาพ (Performance Optimization): ค้นหา bottleneck และปรับปรุงได้
- บันทึกประวัติ (Auditing & Compliance): มีหลักฐานการทำงานของระบบ
Monitoring vs Logging vs Tracing
มักสับสนระหว่างสามคำนี้ มาดูความแตกต่าง:
- Monitoring: ติดตามเลขที่วัดได้ (metrics) เช่น CPU %, RAM, disk usage ใช้เพื่อตรวจจับปัญหาและตั้งค่า alert
- Logging: บันทึกข้อความและเหตุการณ์ที่เกิดขึ้นในระบบ ใช้เพื่อ debug และหาสาเหตุปัญหา
- Tracing: ติดตามเส้นทางของ request ผ่านระบบ distributed microservices ใช้เพื่อเข้าใจขั้นตอนการทำงาน
เครื่องมือ Monitoring ที่สำคัญใน DevOps
มีเครื่องมือตรวจสอบสตาทุ ที่ส่วนหลัค ช่วยปำรุกปรับปรุงหาการขศ๋ สนับสนุนกำลังการจัดการ และลดปัญหานีภาผ
