Gateway

การตรวจสอบสถานะการทำงาน

คู่มือฉบับย่อสำหรับตรวจสอบการเชื่อมต่อของช่องทางโดยไม่ต้องคาดเดา

การตรวจสอบด่วน

  • openclaw status - สรุปภายในเครื่อง: การเข้าถึง/โหมดของ Gateway, คำแนะนำการอัปเดต, อายุการตรวจสอบสิทธิ์ของช่องทางที่เชื่อมโยง, เซสชัน + กิจกรรมล่าสุด
  • openclaw status --all - การวินิจฉัยภายในเครื่องแบบเต็มรูปแบบ (อ่านอย่างเดียว, มีสี, สามารถนำไปวางเพื่อแก้ไขจุดบกพร่องได้อย่างปลอดภัย)
  • openclaw status --deep - ขอให้ Gateway ที่กำลังทำงานทำการตรวจสอบแบบสด (health พร้อม probe:true) รวมถึงการตรวจสอบช่องทางแยกตามบัญชีเมื่อรองรับ
  • openclaw status --usage - แสดงสแนปช็อตการใช้งาน/โควตาของผู้ให้บริการโมเดล
  • openclaw health - ขอให้ Gateway ที่กำลังทำงานส่งสแนปช็อตสถานะความพร้อมใช้งาน (ผ่าน WS เท่านั้น ไม่มีซ็อกเก็ตช่องทางโดยตรงจาก CLI)
  • openclaw health --verbose (นามแฝง --debug) - บังคับให้ตรวจสอบสถานะความพร้อมใช้งานแบบสดและแสดงรายละเอียดการเชื่อมต่อ Gateway
  • openclaw health --json - เอาต์พุตสแนปช็อตสถานะความพร้อมใช้งานที่เครื่องอ่านได้
  • ส่ง /status เป็นคำสั่งแชตเดี่ยวในช่องทางใดก็ได้ เพื่อรับการตอบกลับสถานะโดยไม่เรียกใช้เอเจนต์
  • บันทึก: ติดตาม /tmp/openclaw/openclaw-*.log และกรองหา web-heartbeat, web-reconnect, web-auto-reply, web-inbound

สำหรับ Discord และผู้ให้บริการแชตอื่น ๆ แถวเซสชันไม่ได้บ่งชี้ว่าซ็อกเก็ตยังทำงานอยู่ openclaw sessions, sessions.list ของ Gateway และเครื่องมือ sessions_list ของเอเจนต์ จะอ่านสถานะการสนทนาที่จัดเก็บไว้ ผู้ให้บริการอาจเชื่อมต่อใหม่และแสดงสถานะช่องทางว่าปกติ ก่อนที่แถวเซสชันใหม่จะถูกสร้างขึ้น ใช้คำสั่งสถานะช่องทางและสถานะความพร้อมใช้งาน ด้านบนเพื่อตรวจสอบการเชื่อมต่อแบบสด

การวินิจฉัยเชิงลึก

  • ข้อมูลประจำตัวบนดิสก์: ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json (mtime ควรเป็นเวลาล่าสุด)
  • ที่เก็บเซสชัน: ls -l ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite จำนวนและผู้รับล่าสุดแสดงผ่าน status
  • ขั้นตอนการเชื่อมโยงใหม่: openclaw channels logout && openclaw channels login --verbose เมื่อรหัสสถานะ 409-515 หรือ loggedOut ปรากฏในบันทึก ขั้นตอนเข้าสู่ระบบด้วย QR จะเริ่มใหม่โดยอัตโนมัติหนึ่งครั้งสำหรับสถานะ 515 หลังจากจับคู่
  • การวินิจฉัยเปิดใช้งานตามค่าเริ่มต้น (diagnostics.enabled: false ใช้ปิดการทำงาน) เหตุการณ์หน่วยความจำบันทึกจำนวนไบต์ของ RSS/ฮีป รวมถึงแรงกดดันจากค่าเกณฑ์/การเติบโต คำเตือนสถานะการทำงานบันทึกความล่าช้า/อัตราการใช้งานของลูปเหตุการณ์ อัตราส่วนแกน CPU และจำนวนเซสชันที่ทำงานอยู่/กำลังรอ/อยู่ในคิว เมื่อกระบวนการกำลังทำงานแต่รับภาระเต็มที่ เหตุการณ์เพย์โหลดขนาดใหญ่เกินไปบันทึกสิ่งที่ถูกปฏิเสธ/ตัดทอน/แบ่งเป็นส่วน พร้อมขนาดและขีดจำกัด แต่จะไม่บันทึกข้อความ เนื้อหาไฟล์แนบ เนื้อหา Webhook เนื้อหาคำขอ/การตอบกลับดิบ โทเค็น คุกกี้ หรือค่าความลับ
  • Heartbeat เดียวกันขับเคลื่อนตัวบันทึกเสถียรภาพแบบมีขอบเขต: openclaw gateway stability (หรือ Gateway RPC diagnostics.stability) การออกจาก Gateway อย่างร้ายแรง การหมดเวลาระหว่างปิดระบบ และความล้มเหลวในการเริ่มทำงานหลังรีสตาร์ต จะบันทึกสแนปช็อตล่าสุดไว้ใต้ ~/.openclaw/logs/stability/ ตรวจสอบชุดข้อมูลล่าสุดด้วย openclaw gateway stability --bundle latest
  • สำหรับรายงานข้อบกพร่อง ให้เรียกใช้ openclaw gateway diagnostics export และแนบไฟล์ zip ที่สร้างขึ้น ซึ่งประกอบด้วยสรุป Markdown, ชุดข้อมูลเสถียรภาพล่าสุด, ข้อมูลเมตาของบันทึกที่ผ่านการล้างข้อมูล, สแนปช็อตสถานะ/ความพร้อมใช้งานของ Gateway ที่ผ่านการล้างข้อมูล และโครงสร้างการกำหนดค่า ข้อความแชต เนื้อหา Webhook เอาต์พุตเครื่องมือ ข้อมูลประจำตัว คุกกี้ ตัวระบุบัญชี/ข้อความ และค่าความลับจะถูกละเว้นหรือปกปิด ดูการส่งออกข้อมูลวินิจฉัย

การกำหนดค่าตัวตรวจสอบสถานะความพร้อมใช้งาน

  • channels.<provider>.healthMonitor.enabled: ปิดการรีสตาร์ตโดยตัวตรวจสอบสถานะความพร้อมใช้งานสำหรับช่องทางที่ระบุ โดยยังคงเปิดใช้การตรวจสอบส่วนกลาง
  • channels.<provider>.accounts.<accountId>.healthMonitor.enabled: การแทนที่สำหรับหลายบัญชีซึ่งมีลำดับความสำคัญเหนือการตั้งค่าระดับช่องทาง
  • การแทนที่แยกตามช่องทางเหล่านี้ใช้กับช่องทางในตัวที่เปิดเผยการตั้งค่านี้ในปัจจุบัน ได้แก่ Discord, Google Chat, iMessage, IRC, Microsoft Teams, Signal, Slack, Telegram และ WhatsApp

การตรวจสอบเวลาทำงาน

บริการตรวจสอบเวลาทำงานภายนอกควรใช้ปลายทาง /health โดยเฉพาะ ไม่ใช่ /v1/chat/completions

  • ควรใช้: GET /health - ตอบกลับทันที ไม่สร้างเซสชัน ไม่เรียก LLM และส่งคืน {"ok":true,"status":"live"}
  • อย่าใช้: /v1/chat/completions สำหรับการตรวจสอบสถานะความพร้อมใช้งาน - แต่ละคำขอจะสร้างเซสชันเอเจนต์แบบเต็ม พร้อมสแนปช็อต Skills, การประกอบบริบท และการเรียก LLM

เมื่อไม่ได้ระบุส่วนหัว x-openclaw-session-key หรือฟิลด์ user ทาง /v1/chat/completions จะสร้างเซสชันแบบสุ่มใหม่สำหรับแต่ละคำขอ บริการตรวจสอบที่ส่งคำขอทุก 15 นาทีจะสร้างประมาณ 96 เซสชัน/วัน โดยแต่ละเซสชันใช้พื้นที่ 4-22KB เมื่อเวลาผ่านไป สิ่งนี้ทำให้ที่เก็บเซสชันมีขนาดใหญ่เกินไปและอาจทำให้หน้าต่างบริบทล้น

ตัวอย่างการตั้งค่าบริการตรวจสอบ

  • BetterStack: ตั้งค่า URL การตรวจสอบสถานะความพร้อมใช้งานเป็น https://<your-gateway-host>:<port>/health
  • UptimeRobot: เพิ่มตัวตรวจสอบ HTTP ใหม่โดยใช้ URL https://<your-gateway-host>:<port>/health
  • ทั่วไป: คำขอ HTTP GET ใด ๆ ไปยัง /health จะส่งคืน 200 พร้อม {"ok":true} เมื่อ Gateway มีสถานะปกติ

เมื่อเกิดความล้มเหลว

  • logged out หรือสถานะ 409-515 -> เชื่อมโยงใหม่ด้วย openclaw channels logout แล้วตามด้วย openclaw channels login
  • ไม่สามารถเข้าถึง Gateway -> เริ่มการทำงานด้วย openclaw gateway --port 18789 (ใช้ --force หากพอร์ตไม่ว่าง)
  • ไม่มีข้อความขาเข้า -> ยืนยันว่าโทรศัพท์ที่เชื่อมโยงออนไลน์อยู่และผู้ส่งได้รับอนุญาต (channels.whatsapp.allowFrom) สำหรับแชตกลุ่ม ตรวจสอบให้แน่ใจว่ารายการอนุญาต + กฎการกล่าวถึงตรงกัน (channels.whatsapp.groups, agents.list[].groupChat.mentionPatterns)

คำสั่ง "health" โดยเฉพาะ

openclaw health ขอให้ Gateway ที่กำลังทำงานส่งสแนปช็อตสถานะความพร้อมใช้งาน (ไม่มีซ็อกเก็ตช่องทาง โดยตรงจาก CLI) โดยค่าเริ่มต้น คำสั่งนี้จะส่งคืนสแนปช็อต Gateway ที่แคชไว้ล่าสุด และ Gateway จะรีเฟรชแคชนั้นในเบื้องหลัง ส่วน --verbose จะบังคับให้ตรวจสอบแบบสดแทน คำสั่งนี้รายงานอายุของข้อมูลประจำตัว/การตรวจสอบสิทธิ์ที่เชื่อมโยงเมื่อมีข้อมูล สรุปการตรวจสอบแยกตามช่องทาง สรุปที่เก็บเซสชัน และระยะเวลาการตรวจสอบ โดยจะออกด้วยรหัสที่ไม่ใช่ศูนย์หากไม่สามารถ เข้าถึง Gateway หรือการตรวจสอบล้มเหลว/หมดเวลา

ตัวเลือก:

  • --json: เอาต์พุต JSON ที่เครื่องอ่านได้
  • --timeout <ms>: แทนที่เวลาหมดอายุเริ่มต้นของการตรวจสอบที่ 10s
  • --verbose: บังคับให้ตรวจสอบแบบสดและแสดงรายละเอียดการเชื่อมต่อ Gateway
  • --debug: นามแฝงสำหรับ --verbose

สแนปช็อตสถานะความพร้อมใช้งานประกอบด้วย: ok (บูลีน), ts (การประทับเวลา), durationMs (เวลาที่ใช้ตรวจสอบ), สถานะแยกตามช่องทาง, ความพร้อมใช้งานของเอเจนต์ และสรุปที่เก็บเซสชัน

ที่เกี่ยวข้อง

Was this useful?
On this page

On this page