---
read_when:
    - تشخیص اتصال کانال یا سلامت Gateway
    - درک فرمان‌ها و گزینه‌های CLI بررسی سلامت
summary: فرمان‌های بررسی سلامت و پایش سلامت Gateway
title: بررسی‌های سلامت
x-i18n:
    generated_at: "2026-06-27T17:43:43Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 8d6475bef9fead191c11a801151d4fab76c47034d3f30f90a18c15d6e32b5d26
    source_path: gateway/health.md
    workflow: 16
---

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

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

- `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، خروجی‌های ابزار، اعتبارنامه‌ها، کوکی‌ها، شناسه‌های حساب/پیام، و مقادیر محرمانه حذف یا ویرایش می‌شوند. [خروجی عیب‌یابی](/fa/gateway/diagnostics) را ببینید.

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

- `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` (زمان بررسی)، وضعیت هر کانال، دسترس‌پذیری عامل، و خلاصه ذخیره‌گاه نشست.

## مرتبط

- [راهنمای عملیاتی Gateway](/fa/gateway)
- [خروجی عیب‌یابی](/fa/gateway/diagnostics)
- [عیب‌یابی Gateway](/fa/gateway/troubleshooting)
