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) — принудительно выполняет оперативную проверку работоспособности и выводит сведения о подключении к Gateway.
  • openclaw health --json — выводит машиночитаемый снимок состояния работоспособности.
  • Отправьте /status как отдельную команду чата в любом канале, чтобы получить ответ о состоянии без вызова агента.
  • Журналы: отслеживайте /tmp/openclaw/openclaw-*.log и фильтруйте по web-heartbeat, web-reconnect, web-auto-reply, web-inbound.

Для Discord и других поставщиков чатов строки сеансов не отражают активность сокета. openclaw sessions, Gateway sessions.list и инструмент агента sessions_list читают сохранённое состояние беседы. Поставщик может переподключиться и показать работоспособное состояние канала до появления новой строки сеанса. Для оперативной проверки подключения используйте приведённые выше команды состояния канала и работоспособности.

Углублённая диагностика

  • Учётные данные на диске: ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json (время изменения должно быть недавним).
  • Хранилище сеансов: 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/кучи в байтах, а также нагрузку из-за превышения порогов или роста; критическая нехватка памяти регистрируется через журнал Gateway и, если задано diagnostics.memoryPressureSnapshot: true, также приводит к записи пакета данных о стабильности перед OOM (статистика кучи V8, счётчики Linux cgroup при наличии, количество активных ресурсов, крупнейшие файлы сеансов/транскриптов с отредактированными относительными путями). Предупреждения о работоспособности записывают задержку/утилизацию цикла событий, соотношение использования ядер ЦП и количество активных/ожидающих/поставленных в очередь сеансов, когда процесс работает, но перегружен. События превышения размера полезной нагрузки записывают, что было отклонено/усечено/разбито на части, а также размеры и ограничения, но никогда не записывают текст сообщений, содержимое вложений, тела Webhook, необработанные тела запросов/ответов, токены, файлы cookie или секретные значения.
  • Тот же 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, вывод инструментов, учётные данные, файлы cookie, идентификаторы учётных записей/сообщений и секретные значения исключаются или редактируются. См. Экспорт диагностики.

Конфигурация монитора работоспособности

  • 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 для проверок работоспособности — каждый запрос создаёт полноценный сеанс агента со снимком навыков, сборкой контекста и вызовами 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 (время проверки), состояние каждого канала, доступность агента и сводку хранилища сеансов.

Связанные материалы

Was this useful?
On this page

On this page