Gateway

بررسی‌های سلامت

راهنمای کوتاه برای راستی‌آزمایی اتصال کانال بدون حدس‌زدن.

بررسی‌های سریع

  • openclaw status — خلاصه محلی: دسترس‌پذیری/حالت gateway، نکته به‌روزرسانی، سن احراز هویت کانال متصل، نشست‌ها + فعالیت اخیر.
  • openclaw status --all — عیب‌یابی کامل محلی (فقط‌خواندنی، رنگی، امن برای چسباندن جهت اشکال‌زدایی).
  • openclaw status --deep — از gateway در حال اجرا یک بررسی سلامت زنده می‌خواهد (health با probe:true)، شامل بررسی‌های کانال برای هر حساب در صورت پشتیبانی.
  • openclaw health — از gateway در حال اجرا نمای سلامت آن را می‌خواهد (فقط WS؛ بدون سوکت مستقیم کانال از CLI).
  • openclaw health --verbose — یک بررسی سلامت زنده را اجباری می‌کند و جزئیات اتصال gateway را چاپ می‌کند.
  • openclaw health --json — خروجی نمای سلامت قابل‌خواندن برای ماشین.
  • برای دریافت پاسخ وضعیت بدون فراخوانی عامل، /status را به‌عنوان یک پیام مستقل در WhatsApp/WebChat بفرستید.
  • لاگ‌ها: /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>/sessions/sessions.json (مسیر می‌تواند در پیکربندی بازنویسی شود). شمارش و گیرندگان اخیر از طریق status نمایش داده می‌شوند.
  • جریان پیوند دوباره: وقتی کدهای وضعیت 409–515 یا loggedOut در لاگ‌ها ظاهر شدند، openclaw channels logout && openclaw channels login --verbose. (نکته: جریان ورود QR پس از جفت‌سازی، برای وضعیت 515 یک‌بار به‌طور خودکار دوباره شروع می‌شود.)
  • عیب‌یابی‌ها به‌طور پیش‌فرض فعال هستند. gateway واقعیت‌های عملیاتی را ثبت می‌کند مگر اینکه diagnostics.enabled: false تنظیم شده باشد. رویدادهای حافظه شمارش بایت RSS/heap، فشار آستانه، و فشار رشد را ثبت می‌کنند. فشار بحرانی حافظه از طریق ثبت‌کننده gateway لاگ می‌شود. وقتی diagnostics.memoryPressureSnapshot: true تنظیم شده باشد، فشار بحرانی حافظه همچنین یک بسته پایداری پیش از OOM با آمار heap در V8، شمارنده‌های cgroup لینوکس در صورت دسترس بودن، شمارش منابع فعال، و بزرگ‌ترین فایل‌های نشست/رونوشت بر اساس مسیر نسبی ویرایش‌شده می‌نویسد. هشدارهای زنده‌بودن، تاخیر حلقه رویداد، بهره‌برداری حلقه رویداد، نسبت هسته CPU، و شمارش نشست‌های فعال/در انتظار/صف‌شده را وقتی فرایند در حال اجرا اما اشباع است ثبت می‌کنند. رویدادهای بار بیش‌ازحد بزرگ، آنچه رد، کوتاه، یا تکه‌تکه شده است، به‌همراه اندازه‌ها و محدودیت‌ها در صورت دسترس بودن را ثبت می‌کنند. آن‌ها متن پیام، محتوای پیوست، بدنه webhook، بدنه خام درخواست یا پاسخ، توکن‌ها، کوکی‌ها، یا مقادیر محرمانه را ثبت نمی‌کنند. همان Heartbeat ضبط‌کننده پایداری محدود را شروع می‌کند، که از طریق openclaw gateway stability یا RPC ‏diagnostics.stability در Gateway در دسترس است. خروج‌های مرگبار Gateway، وقفه‌های خاموش‌سازی، و شکست‌های شروع مجدد، وقتی رویدادها وجود داشته باشند، تازه‌ترین نمای ضبط‌کننده را زیر ~/.openclaw/logs/stability/ پایدار می‌کنند؛ فشار بحرانی حافظه نیز فقط وقتی diagnostics.memoryPressureSnapshot: true تنظیم شده باشد همین کار را می‌کند. تازه‌ترین بسته ذخیره‌شده را با openclaw gateway stability --bundle latest بررسی کنید.
  • برای گزارش‌های باگ، openclaw gateway diagnostics export را اجرا کنید و فایل zip تولیدشده را پیوست کنید. خروجی، یک خلاصه Markdown، تازه‌ترین بسته پایداری، فراداده لاگ پاک‌سازی‌شده، نماهای وضعیت/سلامت Gateway پاک‌سازی‌شده، و شکل پیکربندی را ترکیب می‌کند. برای اشتراک‌گذاری طراحی شده است: متن چت، بدنه‌های webhook، خروجی‌های ابزار، اعتبارنامه‌ها، کوکی‌ها، شناسه‌های حساب/پیام، و مقادیر محرمانه حذف یا ویرایش می‌شوند. خروجی عیب‌یابی را ببینید.

پیکربندی پایش سلامت

  • gateway.channelHealthCheckMinutes: gateway هر چند وقت یک‌بار سلامت کانال را بررسی کند. پیش‌فرض: 5. برای غیرفعال کردن شروع‌های مجدد پایش سلامت به‌صورت سراسری، 0 تنظیم کنید.
  • gateway.channelStaleEventThresholdMinutes: یک کانال متصل چه مدت می‌تواند بی‌کار بماند پیش از آنکه پایش سلامت آن را کهنه تلقی کند و دوباره راه‌اندازی‌اش کند. پیش‌فرض: 30. این مقدار را بزرگ‌تر یا برابر با gateway.channelHealthCheckMinutes نگه دارید.
  • gateway.channelMaxRestartsPerHour: سقف لغزان یک‌ساعته برای شروع‌های مجدد پایش سلامت به ازای هر کانال/حساب. پیش‌فرض: 10.
  • channels.<provider>.healthMonitor.enabled: شروع‌های مجدد پایش سلامت را برای یک کانال مشخص غیرفعال می‌کند، در حالی که پایش سراسری فعال می‌ماند.
  • channels.<provider>.accounts.<accountId>.healthMonitor.enabled: بازنویسی چندحسابی که بر تنظیم سطح کانال مقدم است.
  • این بازنویسی‌های هر کانال روی پایشگرهای داخلی کانال اعمال می‌شوند که امروز آن‌ها را ارائه می‌کنند: Discord، Google Chat، iMessage، Microsoft Teams، Signal، Slack، Telegram، و WhatsApp.

پایش زمان کارکرد

سرویس‌های بیرونی پایش زمان کارکرد باید از endpoint اختصاصی /health استفاده کنند، نه از /v1/chat/completions.

  • استفاده کنید: GET /health — پاسخ فوری، بدون ایجاد نشست، بدون فراخوانی مدل زبانی بزرگ، برمی‌گرداند {"ok":true,"status":"live"}
  • استفاده نکنید: /v1/chat/completions برای بررسی سلامت — هر درخواست یک نشست کامل عامل با نمای Skills، مونتاژ زمینه، و فراخوانی‌های مدل زبانی بزرگ ایجاد می‌کند

وقتی هدر x-openclaw-session-key یا فیلد user ارائه نشود، /v1/chat/completions برای هر درخواست یک نشست تصادفی جدید تولید می‌کند. سرویس‌های پایشی که هر 15 دقیقه پینگ می‌کنند، حدود 96 نشست در روز ایجاد می‌کنند که هرکدام 4 تا 22KB مصرف می‌کند. با گذشت زمان این باعث تورم ذخیره‌گاه نشست می‌شود و می‌تواند به سرریز پنجره زمینه منجر شود.

نمونه‌های راه‌اندازی سرویس پایش

  • BetterStack: نشانی بررسی سلامت را روی https://<your-gateway-host>:<port>/health تنظیم کنید
  • UptimeRobot: یک پایشگر HTTP جدید با نشانی https://<your-gateway-host>:<port>/health اضافه کنید
  • عمومی: هر HTTP GET به /health وقتی gateway سالم باشد، 200 همراه با {"ok":true} برمی‌گرداند

وقتی چیزی شکست می‌خورد

  • 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).

فرمان اختصاصی «سلامت»

openclaw health از gateway در حال اجرا نمای سلامت آن را می‌خواهد (بدون سوکت مستقیم کانال از CLI). به‌طور پیش‌فرض می‌تواند یک نمای تازه ذخیره‌شده gateway را برگرداند؛ سپس gateway آن cache را در پس‌زمینه تازه‌سازی می‌کند. openclaw health --verbose به‌جای آن یک بررسی زنده را اجباری می‌کند. این فرمان اعتبارنامه‌های پیوندشده/سن احراز هویت را در صورت دسترس بودن، خلاصه‌های بررسی هر کانال، خلاصه ذخیره‌گاه نشست، و مدت بررسی را گزارش می‌کند. اگر gateway دسترس‌ناپذیر باشد یا بررسی شکست بخورد/مهلتش تمام شود، با مقدار غیرصفر خارج می‌شود.

گزینه‌ها:

  • --json: خروجی JSON قابل‌خواندن برای ماشین
  • --timeout <ms>: بازنویسی مهلت پیش‌فرض 10 ثانیه‌ای بررسی
  • --verbose: اجبار بررسی زنده و چاپ جزئیات اتصال gateway
  • --debug: نام مستعار برای --verbose

نمای سلامت شامل این موارد است: ok (بولی)، ts (برچسب زمانی)، durationMs (زمان بررسی)، وضعیت هر کانال، دسترس‌پذیری عامل، و خلاصه ذخیره‌گاه نشست.

مرتبط

Was this useful?
On this page

On this page