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) - บังคับให้ตรวจสอบสถานะความพร้อมใช้งานแบบสดและแสดงรายละเอียดการเชื่อมต่อ Gatewayopenclaw 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 RPCdiagnostics.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 (เวลาที่ใช้ตรวจสอบ), สถานะแยกตามช่องทาง, ความพร้อมใช้งานของเอเจนต์ และสรุปที่เก็บเซสชัน