Gateway
การส่งออกข้อมูลวินิจฉัย
OpenClaw สามารถสร้างไฟล์วินิจฉัย .zip ภายในเครื่องสำหรับรายงานข้อบกพร่อง ซึ่งประกอบด้วยสถานะ
Gateway ที่ผ่านการลบข้อมูลอ่อนไหวแล้ว ข้อมูลสุขภาพ บันทึก รูปแบบการกำหนดค่า และเหตุการณ์ด้านเสถียรภาพล่าสุดที่ไม่มีเพย์โหลด
ให้ถือว่าชุดข้อมูลวินิจฉัยเป็นข้อมูลลับจนกว่าจะตรวจสอบแล้ว เพย์โหลดและข้อมูลประจำตัว จะถูกปกปิดตามการออกแบบ แต่ชุดข้อมูลยังคงสรุปบันทึก Gateway ภายในเครื่องและ สถานะรันไทม์ระดับโฮสต์
เริ่มต้นอย่างรวดเร็ว
openclaw gateway diagnostics exportพิมพ์พาธของไฟล์ zip ที่เขียนแล้ว หากต้องการเลือกพาธเอาต์พุต:
openclaw gateway diagnostics export --output openclaw-diagnostics.zipสำหรับระบบอัตโนมัติ:
openclaw gateway diagnostics export --jsonคำสั่งแชต
เจ้าของสามารถเรียกใช้ /diagnostics [note] ในบทสนทนาใดก็ได้ เพื่อขอให้
Gateway ภายในเครื่องส่งออกรายงานช่วยเหลือหนึ่งชุดที่คัดลอกและวางได้:
- ส่ง
/diagnosticsและอาจแนบบันทึกสั้น ๆ (/diagnostics bad tool choice) - OpenClaw จะส่งข้อความเกริ่นนำและขออนุมัติการเรียกใช้คำสั่งอย่างชัดเจนหนึ่งครั้ง ซึ่งจะเรียกใช้
openclaw gateway diagnostics export --jsonห้ามอนุมัติการวินิจฉัยผ่าน กฎที่อนุญาตทั้งหมด - หลังจากอนุมัติ OpenClaw จะตอบกลับด้วยพาธชุดข้อมูลภายในเครื่อง สรุป รายการกำกับ หมายเหตุด้านความเป็นส่วนตัว และรหัสเซสชันที่เกี่ยวข้อง
ในแชตกลุ่ม เจ้าของยังคงเรียกใช้ /diagnostics ได้ แต่ OpenClaw จะส่ง
ผลลัพธ์การส่งออก ข้อความขออนุมัติ และรายละเอียดแยกเซสชัน/เธรดของ Codex
ให้เจ้าของแบบส่วนตัว กลุ่มจะเห็นเพียงข้อความสั้น ๆ ว่าข้อมูลวินิจฉัยถูกส่ง
แบบส่วนตัวแล้ว หากไม่มีช่องทางส่วนตัวไปยังเจ้าของ คำสั่งจะปฏิเสธการทำงานอย่างปลอดภัยและขอให้
เจ้าของเรียกใช้จากข้อความส่วนตัว
เมื่อเซสชันที่ใช้งานอยู่ใช้ชุดควบคุม OpenAI Codex แบบเนทีฟ การอนุมัติ การเรียกใช้คำสั่งเดียวกันจะครอบคลุมการอัปโหลดข้อเสนอแนะไปยัง OpenAI สำหรับเธรด Codex ที่ OpenClaw รู้จักด้วย การอัปโหลดดังกล่าวแยกจากไฟล์ zip ของ Gateway ภายในเครื่อง และจะเกิดขึ้น เฉพาะกับเซสชันของชุดควบคุม Codex เท่านั้น ข้อความขออนุมัติจะระบุว่าการอนุมัติ จะส่งข้อเสนอแนะ Codex ด้วย โดยไม่แสดงรหัสเซสชันหรือรหัสเธรด Codex หลังจาก อนุมัติแล้ว คำตอบจะแสดงช่องทาง รหัสเซสชัน OpenClaw รหัสเธรด Codex และ คำสั่งดำเนินการต่อภายในเครื่องสำหรับเธรดที่ส่งไปยัง OpenAI การปฏิเสธหรือ เพิกเฉยต่อการอนุมัติจะข้ามการส่งออก การอัปโหลดข้อเสนอแนะ Codex และรายการ รหัส Codex
วิธีนี้ทำให้วงจรการแก้ไขข้อบกพร่องของ Codex สั้นลง: เมื่อพบพฤติกรรมที่ไม่เหมาะสมในช่องทาง
ให้เรียกใช้ /diagnostics อนุมัติหนึ่งครั้ง แชร์รายงาน แล้วเรียกใช้คำสั่ง
codex resume <thread-id> ที่แสดงไว้ภายในเครื่อง หากต้องการตรวจสอบเธรด
ด้วยตนเอง ดู ชุดควบคุม Codex
สิ่งที่มีอยู่ในการส่งออก
summary.md: ภาพรวมที่มนุษย์อ่านได้สำหรับฝ่ายสนับสนุนdiagnostics.json: สรุปการกำหนดค่า บันทึก สถานะ สุขภาพ และข้อมูลเสถียรภาพที่เครื่องอ่านได้manifest.json: ข้อมูลเมตาของการส่งออกและรายการไฟล์- รูปแบบการกำหนดค่าที่ผ่านการลบข้อมูลอ่อนไหวและรายละเอียดการกำหนดค่าที่ไม่เป็นความลับ
- สรุปบันทึกที่ผ่านการลบข้อมูลอ่อนไหวและบรรทัดบันทึกล่าสุดที่ผ่านการปกปิด
- สแนปช็อตสถานะและสุขภาพของ Gateway ตามความพยายามที่ทำได้
stability/latest.json: ชุดข้อมูลเสถียรภาพที่บันทึกถาวรล่าสุด หากมี
การส่งออกยังคงมีประโยชน์เมื่อ Gateway ทำงานผิดปกติ หากคำขอสถานะ/สุขภาพ ล้มเหลว ระบบยังคงรวบรวมบันทึกภายในเครื่อง รูปแบบการกำหนดค่า และชุดข้อมูลเสถียรภาพ ล่าสุดเมื่อมีข้อมูล
รูปแบบความเป็นส่วนตัว
เก็บไว้: ชื่อระบบย่อย รหัส Plugin รหัสผู้ให้บริการ รหัสช่องทาง โหมดที่กำหนดค่า รหัสสถานะ ระยะเวลา จำนวนไบต์ สถานะคิว ค่าหน่วยความจำ ข้อมูลเมตาของบันทึกที่ผ่านการลบข้อมูลอ่อนไหว ข้อความการทำงานที่ผ่านการปกปิด รูปแบบการกำหนดค่า และ การตั้งค่าคุณสมบัติที่ไม่เป็นความลับ
ละเว้นหรือปกปิด: ข้อความแชต พรอมต์ คำสั่ง เนื้อหา Webhook เอาต์พุตของเครื่องมือ ข้อมูลประจำตัว คีย์ API โทเค็น คุกกี้ ค่าความลับ เนื้อหา คำขอ/การตอบกลับดิบ รหัสบัญชี รหัสข้อความ รหัสเซสชันดิบ ชื่อโฮสต์ และชื่อผู้ใช้ภายในเครื่อง
เมื่อข้อความบันทึกมีลักษณะคล้ายข้อความจากผู้ใช้ แชต พรอมต์ หรือเพย์โหลดของเครื่องมือ การส่งออกจะเก็บไว้เพียงข้อมูลว่าข้อความถูกละเว้น พร้อมจำนวนไบต์ของข้อความนั้น
ตัวบันทึกเสถียรภาพ
โดยค่าเริ่มต้น Gateway จะบันทึกสตรีมเสถียรภาพแบบจำกัดขนาดและไม่มีเพย์โหลด เมื่อเปิดใช้งานการวินิจฉัย โดยบันทึกข้อเท็จจริงด้านการทำงาน ไม่ใช่เนื้อหา
Heartbeat เดียวกันยังสุ่มตรวจความพร้อมทำงานเมื่อวงรอบเหตุการณ์หรือ CPU ดูเหมือน
อิ่มตัว โดยปล่อยเหตุการณ์ diagnostic.liveness.warning พร้อมค่าหน่วงของวงรอบเหตุการณ์
อัตราการใช้งานวงรอบเหตุการณ์ อัตราส่วนคอร์ CPU จำนวนเซสชันที่ทำงานอยู่/รออยู่/อยู่ในคิว
ระยะเริ่มต้น/รันไทม์ปัจจุบัน (หากทราบ) ช่วงเวลาของระยะล่าสุด และ
ป้ายกำกับงานแบบจำกัดขนาด เหตุการณ์เหล่านี้จะกลายเป็นบรรทัดบันทึกระดับ warn ของ Gateway เฉพาะเมื่อ
มีงานรอหรืออยู่ในคิว หรือเมื่องานที่ทำงานอยู่ทับซ้อนกับความหน่วงของวงรอบเหตุการณ์
อย่างต่อเนื่อง มิฉะนั้นจะบันทึกที่ระดับ debug ตัวอย่างความพร้อมทำงานขณะไม่ได้ใช้งานยังคงถูกบันทึก
เป็นเหตุการณ์วินิจฉัย แต่จะไม่ยกระดับเป็นคำเตือนด้วยตัวเอง
ระยะเริ่มต้นจะปล่อยเหตุการณ์ diagnostic.phase.completed พร้อมเวลาตามนาฬิกาและ
เวลา CPU การวินิจฉัยการทำงานแบบฝังตัวที่ค้างจะกำหนด terminalProgressStale=true
เมื่อความคืบหน้าล่าสุดจากบริดจ์ดูเหมือนสิ้นสุดแล้ว (ตัวอย่างเช่น รายการการตอบกลับดิบ
หรือเหตุการณ์การตอบกลับเสร็จสมบูรณ์) แต่ Gateway ยังคงถือว่า
การทำงานแบบฝังตัวยังทำงานอยู่
ตรวจสอบตัวบันทึกสด:
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --jsonตรวจสอบชุดข้อมูลที่บันทึกถาวรล่าสุดหลังจากการออกจากระบบที่ร้ายแรง การหมดเวลาระหว่างปิดระบบ หรือ ความล้มเหลวในการเริ่มต้นหลังรีสตาร์ต:
openclaw gateway stability --bundle latestสร้างไฟล์ zip การวินิจฉัยจากชุดข้อมูลที่บันทึกถาวรล่าสุด:
openclaw gateway stability --bundle latest --exportชุดข้อมูลที่บันทึกถาวรจะอยู่ภายใต้ ~/.openclaw/logs/stability/ เมื่อมีเหตุการณ์
ตัวเลือกที่มีประโยชน์
openclaw gateway diagnostics export \ --output openclaw-diagnostics.zip \ --log-lines 5000 \ --log-bytes 1000000| แฟล็ก | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
--output <path> |
$OPENCLAW_STATE_DIR/logs/support/openclaw-diagnostics-<timestamp>-<pid>.zip |
เขียนไปยังพาธไฟล์ zip (หรือไดเรกทอรี) ที่ระบุ |
--log-lines <count> |
5000 |
จำนวนบรรทัดบันทึกที่ผ่านการลบข้อมูลอ่อนไหวสูงสุดที่จะรวมไว้ |
--log-bytes <bytes> |
1000000 |
จำนวนไบต์ของบันทึกสูงสุดที่จะตรวจสอบ |
--url <url> |
- | URL WebSocket ของ Gateway สำหรับสแนปช็อตสถานะ/สุขภาพ |
--token <token> |
- | โทเค็น Gateway สำหรับสแนปช็อตสถานะ/สุขภาพ |
--password <password> |
- | รหัสผ่าน Gateway สำหรับสแนปช็อตสถานะ/สุขภาพ |
--timeout <ms> |
3000 |
ระยะหมดเวลาของสแนปช็อตสถานะ/สุขภาพ |
--no-stability-bundle |
ปิด | ข้ามการค้นหาชุดข้อมูลเสถียรภาพที่บันทึกถาวร |
--json |
ปิด | พิมพ์ข้อมูลเมตาการส่งออกที่เครื่องอ่านได้ |
ปิดใช้งานการวินิจฉัย
การวินิจฉัยเปิดใช้งานโดยค่าเริ่มต้น หากต้องการปิดใช้งานตัวบันทึกเสถียรภาพและ การรวบรวมเหตุการณ์วินิจฉัย:
{ diagnostics: { enabled: false, },}การปิดใช้งานการวินิจฉัยจะลดรายละเอียดในรายงานข้อบกพร่อง แต่ไม่ส่งผลต่อการบันทึก ตามปกติของ Gateway
สแนปช็อตเมื่อหน่วยความจำอยู่ภายใต้แรงกดดันขั้นวิกฤตจะปิดไว้โดยค่าเริ่มต้น หากต้องการบันทึก สแนปช็อตเสถียรภาพก่อน OOM เพิ่มเติมจากเหตุการณ์วินิจฉัยตามปกติ:
{ diagnostics: { memoryPressureSnapshot: true, },}ใช้ตัวเลือกนี้เฉพาะบนโฮสต์ที่รองรับการสแกนระบบไฟล์และ
การเขียนสแนปช็อตเพิ่มเติมระหว่างที่หน่วยความจำอยู่ภายใต้แรงกดดันขั้นวิกฤตได้ เหตุการณ์แรงกดดันของหน่วยความจำ
ตามปกติยังคงบันทึกข้อเท็จจริงเกี่ยวกับ RSS, ฮีป, เกณฑ์ และการเติบโต (rss_threshold,
heap_threshold, rss_growth) เมื่อปิดสแนปช็อต
เนื้อหาที่เกี่ยวข้อง
- การตรวจสอบสุขภาพ
- CLI ของ Gateway
- โปรโตคอล Gateway
- การบันทึก
- การส่งออก OpenTelemetry - ขั้นตอนแยกต่างหากสำหรับสตรีมข้อมูลวินิจฉัยไปยังตัวรวบรวม