---
read_when:
    - عیب‌یابی اتصال کانال یا سلامت Gateway
    - درک دستورات و گزینه‌های CLI برای بررسی سلامت
summary: دستورهای بررسی سلامت و پایش سلامت Gateway
title: بررسی‌های سلامت
x-i18n:
    generated_at: "2026-07-16T16:14:52Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 6cc015fcd8dc002eafac95fb3e7aa0b6f3be5b9995e94438e2fed539a561931d
    source_path: gateway/health.md
    workflow: 16
---

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

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

- `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` (زمان تغییر باید جدید باشد).
- مخزن نشست: `ls -l ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite`. تعداد و گیرندگان اخیر از طریق `status` نمایش داده می‌شوند.
- روند پیوند مجدد: وقتی کدهای وضعیت 409-515 یا `loggedOut` در گزارش‌ها ظاهر می‌شوند، `openclaw channels logout && openclaw channels login --verbose`. روند ورود با QR پس از جفت‌سازی، برای وضعیت 515 یک‌بار به‌طور خودکار دوباره آغاز می‌شود.
- عیب‌یابی‌ها به‌طور پیش‌فرض فعال‌اند (`diagnostics.enabled: false` آن‌ها را غیرفعال می‌کند). رویدادهای حافظه، شمارش بایت RSS/heap و فشار آستانه/رشد را ثبت می‌کنند؛ فشار بحرانی حافظه از طریق گزارشگر Gateway ثبت می‌شود و وقتی `diagnostics.memoryPressureSnapshot: true` تنظیم شده باشد، یک بسته پایداری پیش از OOM نیز می‌نویسد (آمار heap در V8، شمارنده‌های cgroup لینوکس در صورت وجود، تعداد منابع فعال، و بزرگ‌ترین فایل‌های نشست/رونوشت بر اساس مسیر نسبی ویرایش‌شده). هشدارهای زنده‌بودن، تأخیر/بهره‌برداری حلقه رویداد، نسبت هسته‌های CPU، و تعداد نشست‌های فعال/منتظر/صف‌شده را هنگامی ثبت می‌کنند که فرایند در حال اجرا اما اشباع است. رویدادهای بار بیش‌ازحد بزرگ، آنچه رد/کوتاه/قطعه‌بندی شده است را همراه با اندازه‌ها و محدودیت‌ها ثبت می‌کنند؛ اما هرگز متن پیام، محتوای پیوست، بدنه Webhook، بدنه خام درخواست/پاسخ، توکن‌ها، کوکی‌ها یا مقادیر محرمانه را ثبت نمی‌کنند.
- همان Heartbeat ثبت‌کننده محدود پایداری را نیز به‌کار می‌اندازد: `openclaw gateway stability` (یا RPC مربوط به Gateway با نام `diagnostics.stability`). خروج‌های مهلک Gateway، پایان مهلت خاموش‌سازی، شکست‌های راه‌اندازی پس از شروع مجدد، و فشار بحرانی حافظه (وقتی `diagnostics.memoryPressureSnapshot: true`) آخرین نمای لحظه‌ای را در `~/.openclaw/logs/stability/` نگه می‌دارند. جدیدترین بسته را با `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، 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:** نشانی بررسی سلامت را روی `https://<your-gateway-host>:<port>/health` تنظیم کنید
- **UptimeRobot:** یک پایشگر HTTP جدید با نشانی `https://<your-gateway-host>:<port>/health` اضافه کنید
- **عمومی:** وقتی Gateway سالم باشد، هر درخواست HTTP GET به `/health`، وضعیت 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 آن حافظه نهان را در پس‌زمینه تازه‌سازی می‌کند؛ `--verbose`
در عوض یک کاوش زنده را اجباری می‌کند.
این فرمان در صورت وجود، اطلاعات احراز هویت پیوندشده/مدت‌زمان احراز هویت، خلاصه کاوش هر کانال،
خلاصه مخزن نشست و مدت‌زمان کاوش را گزارش می‌کند. اگر Gateway دسترس‌ناپذیر باشد یا
کاوش شکست بخورد/مهلتش تمام شود، با کد غیرصفر خارج می‌شود.

گزینه‌ها:

- `--json`: خروجی JSON ماشین‌خوان
- `--timeout <ms>`: بازنویسی مهلت پیش‌فرض 10s برای کاوش
- `--verbose`: اجبار کاوش زنده و نمایش جزئیات اتصال Gateway
- `--debug`: نام مستعار `--verbose`

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

## مرتبط

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