การแก้ไขปัญหา

ปัญหาที่พบบ่อยและวิธีแก้ไขเมื่อใช้งาน AI Agents Management

ปัญหา WebSocket Connection

ปัญหา: ข้อผิดพลาด "WebSocket closed (1006)"

อาการ:

  • Agent instances แสดงสถานะ "Offline"
  • การเปลี่ยนแปลง configuration ไม่มีผล
  • การอัพเดทแบบ real-time ไม่ทำงาน

วิธีแก้ไข:

  1. ตรวจสอบ WebSocket URL: ตรวจสอบว่า WebSocket endpoint เข้าถึงได้
  2. ตรวจสอบการยืนยันตัวตน: ตรวจสอบว่า JWT token ยังใช้งานได้และไม่หมดอายุ
  3. ตรวจสอบเครือข่าย: ตรวจสอบการตั้งค่า firewall ให้อนุญาต WebSocket connections
  4. รีสตาร์ท Instance: ลองหยุดและเริ่ม agent instance ใหม่

ปัญหา: ข้อผิดพลาด "No Active WebSocket"

อาการ:

  • ไม่สามารถส่งการอัพเดท configuration ได้
  • Instance ดูเหมือนขาดการเชื่อมต่อ

วิธีแก้ไข:

  1. รอการเชื่อมต่อใหม่: WebSocket จะเชื่อมต่อใหม่อัตโนมัติทุก 30 วินาที
  2. ตรวจสอบสถานะ Instance: ตรวจสอบว่า instance อยู่ในสถานะ "Running"
  3. ตรวจสอบ DO_SYNC_SECRET: ตรวจสอบว่า secret ถูกตั้งค่าอย่างถูกต้อง

ปัญหา Agent Instance

ปัญหา: Instance ติดในสถานะ "Starting"

อาการ:

  • Instance แสดง "Starting" นานกว่า 5 นาที
  • ไม่มี logs ปรากฏในระบบ

วิธีแก้ไข:

  1. ตรวจสอบโค้ด Agent: ตรวจสอบว่าโค้ดไม่มี infinite loops หรือ blocking operations
  2. ตรวจสอบ Dependencies: ตรวจสอบว่า packages ที่จำเป็นทั้งหมดพร้อมใช้งาน
  3. ตรวจสอบ Memory Limits: ตรวจสอบว่า instance มี memory เพียงพอ
  4. รีสตาร์ท Instance: หยุดและเริ่ม instance ใหม่

ปัญหา: Instance แสดงสถานะ "Error"

อาการ:

  • ตัวบ่งชี้สีแดงใน dashboard
  • Agent หยุดตอบสนอง

วิธีแก้ไข:

  1. ตรวจสอบ System Logs: ไปที่ Admin Panel → System Logs เพื่อดูรายละเอียดข้อผิดพลาด
  2. ตรวจสอบโค้ด Agent: มองหา runtime errors หรือ exceptions
  3. ตรวจสอบ Configuration: ตรวจสอบ environment variables และการตั้งค่า
  4. ตรวจสอบการใช้ทรัพยากร: ตรวจสอบว่าการใช้ CPU และ memory อยู่ในขีดจำกัด

ปัญหา Scheduler

ปัญหา: การตรวจสอบ Cron Expression ล้มเหลว

อาการ:

  • ข้อความ "Invalid cron expression"
  • ไม่สามารถบันทึก scheduler configuration ได้

วิธีแก้ไข:

  1. ตรวจสอบรูปแบบ: ตรวจสอบว่าใช้รูปแบบ 5-field หรือ 6-field อย่างสม่ำเสมอ
  2. ตรวจสอบ Syntax: ใช้เครื่องมือตรวจสอบ cron ออนไลน์
  3. ข้อผิดพลาดที่พบบ่อย:
    • ใช้ */5 ในรูปแบบ 5-field (ควรเป็น 0 */5 * * *)
    • ค่าวันในสัปดาห์ไม่ถูกต้อง (ใช้ 0-7, ไม่ใช่ 1-7)
    • ค่าเดือนไม่ถูกต้อง (ใช้ 1-12, ไม่ใช่ 0-11)

ปัญหา: งานที่กำหนดเวลาไว้ไม่ทำงาน

อาการ:

  • Cron expression ถูกต้องแต่งานไม่ทำงาน
  • ไม่มี execution logs ในระบบ

วิธีแก้ไข:

  1. ตรวจสอบสถานะ Instance: ตรวจสอบว่า instance อยู่ในสถานะ "Running"
  2. ตรวจสอบ Timezone: cron expressions ทั้งหมดใช้เวลา UTC
  3. ตรวจสอบเวลาทำงานถัดไป: ตรวจสอบว่าเวลาที่กำหนดถัดไปถูกต้อง
  4. ตรวจสอบโค้ด Agent: ตรวจสอบว่า agent จัดการการทำงานตามกำหนดเวลาอย่างถูกต้อง

ปัญหาประสิทธิภาพ

ปัญหา: การใช้ CPU สูง

อาการ:

  • Instance แสดง CPU time สูงใน metrics
  • เวลาตอบสนองช้า

วิธีแก้ไข:

  1. ปรับปรุงโค้ด Agent: ตรวจสอบ loops และ recursive functions
  2. เพิ่ม Delays: ใช้ await new Promise(resolve => setTimeout(resolve, 1000)) เพื่อเพิ่มการหน่วงเวลา
  3. ประมวลผลเป็นชุด: ประมวลผลข้อมูลเป็นชิ้นเล็กๆ
  4. ตรวจสอบ External APIs: ตรวจสอบว่าบริการภายนอกไม่ทำให้เกิดความล่าช้า

ปัญหา: Memory Leaks

อาการ:

  • การใช้ memory ของ instance เพิ่มขึ้นเรื่อยๆ
  • Instance ไม่ตอบสนองเมื่อเวลาผ่านไป

วิธีแก้ไข:

  1. ตรวจสอบ Variable Scope: ตรวจสอบว่าตัวแปรถูกล้างอย่างถูกต้อง
  2. ปิด Connections: ปิด database และ HTTP connections เสมอ
  3. ล้าง Intervals: ใช้ clearInterval() และ clearTimeout() อย่างถูกต้อง
  4. ติดตาม Objects: หลีกเลี่ยงการเก็บ objects ขนาดใหญ่ใน memory โดยไม่จำเป็น

ปัญหาการยืนยันตัวตน

ปัญหา: ข้อผิดพลาด "Unauthorized"

อาการ:

  • ไม่สามารถเข้าถึงรายละเอียด instance ได้
  • API calls ส่งคืน 401 errors

วิธีแก้ไข:

  1. ตรวจสอบ JWT Token: ตรวจสอบว่า token ยังใช้งานได้และไม่หมดอายุ
  2. ตรวจสอบสิทธิ์: ตรวจสอบว่าบัญชีของคุณมีสิทธิ์เข้าถึง instance
  3. เข้าสู่ระบบใหม่: ลองออกจากระบบและเข้าสู่ระบบใหม่
  4. ตรวจสอบการยืนยันตัวตน CLI: สำหรับผู้ใช้ CLI ให้รัน lifectl auth login

ปัญหาข้อมูล

ปัญหา: ข้อมูล Instance ไม่คงอยู่

อาการ:

  • การเปลี่ยนแปลง configuration หายไปหลังรีสตาร์ท
  • สถานะ instance รีเซ็ตโดยไม่คาดคิด

วิธีแก้ไข:

  1. ตรวจสอบ Durable Objects: ตรวจสอบว่า DO storage ทำงานอย่างถูกต้อง
  2. ตรวจสอบการบันทึก: ตรวจสอบว่าข้อมูลถูกบันทึกอย่างถูกต้องในโค้ด agent
  3. ตรวจสอบขีดจำกัดการจัดเก็บ: ตรวจสอบว่าไม่เกิน storage quotas
  4. ใช้ APIs ที่ถูกต้อง: ใช้ storage APIs ที่ถูกต้องสำหรับการเก็บข้อมูลถาวร

การขอความช่วยเหลือ

หากยังคงประสบปัญหา:

  1. ตรวจสอบ System Logs: ตรวจสอบ logs เสมอเพื่อดูรายละเอียดข้อผิดพลาด
  2. บันทึกปัญหา: จดข้อความข้อผิดพลาดที่แน่นอนและขั้นตอนการทำซ้ำ
  3. ตรวจสอบรายละเอียด Instance: รวม instance ID, agent version, และ configuration
  4. ติดต่อฝ่ายสนับสนุน: ให้ข้อมูลที่เกี่ยวข้องทั้งหมดเมื่อขอความช่วยเหลือ

มาตรการป้องกัน

  1. การติดตามสม่ำเสมอ: ตรวจสอบสถานะ instance และ logs เป็นประจำ
  2. ขีดจำกัดทรัพยากร: ตั้งขีดจำกัด CPU และ memory ที่เหมาะสม
  3. การจัดการข้อผิดพลาด: ใช้การจัดการข้อผิดพลาดที่เหมาะสมในโค้ด agent
  4. การทดสอบ: ทดสอบ agents อย่างละเอียดก่อนนำไปใช้ใน production
  5. สำรองข้อมูล Configuration: เก็บสำรองข้อมูล configurations ที่สำคัญ