ИИ / Автоматизация 21 апреля 2026 г.

2026: пробы здоровья OpenClaw, синтетический аптайм и пороги по диску на арендованном Mac mini

Инженерная команда ProxyMac 21 апреля 2026 г. ~13 мин чтения

Шлюзы OpenClaw на арендованном Mac mini ProxyMac в HK, JP, KR, SG или US могут выглядеть «здоровыми», тихо ломаясь: HTTP-слушатель всё ещё на порту, но маршруты к моделям застряли, диск заполнен на 92 %, или LaunchAgents перезапускаются так быстро, что логи не успевают сброситься на диск. Этот плейбук 2026 добавляет многоуровневые пробы — быстрые curl на localhost по расписанию LaunchAgent, более медленные проверки синтетического аптайма извне вашей LAN и пороги по диску и unified logging — и связывает сбои с паттернами перезапуска из восстановления через launchctl и структурированной диагностикой в гайде по развёртыванию. Вы получите матрицу сигналов в пять колонок (другая форма таблицы, чем в гайде по rate limit), готовую строку curl-пробы, цифры по таймингу (60 с период, 5 с клиентский таймаут, 12 ГБ нижний порог свободного диска) и пятиступенчатую матрицу инцидента, чтобы дежурный не гадал, что сломалось первым — Cloudflare, TLS или процесс шлюза.

Сочетайте материал с заметками справочного центра по автоматизации и зарезервируйте ёмкость через тарифы, прежде чем навешивать на одну mini ещё агентов.

Зачем шлюзу пробы шире, чем «процесс запущен»

macOS показывает зелёный цвет в Activity Monitor, пока рабочий поток заблокирован на futex. Внешние провайдеры говорят лишь, что ICMP дошёл до хоста — но не то, что HTTP-поверхность OpenClaw вернула HTTP/200 с JSON, подтверждающим загрузку учётных данных модели. Пробы должны отвечать по порядку на три вопроса: TCP на порту принимается? Логика приложения сообщает готовность? Зависимости (диск, секреты, внешние API) в пределах SLA? Пропустите слой — и будете раз за разом открывать один и тот же Sev2 по пятницам.

  • Видимость LaunchAgent: неудачные пробы увеличивают счётчик, который можно отправить в SIEM через syslog.
  • Канареечные полезные нагрузки: эхо JSON на 512 байт доказывает завершение TLS и разбор JSON, а не только TCP.
  • Санитарный минимум для оператора: после трёх подряд неудачных проб за 2 минуты автоперезапуск только если последний чистый останов был более 10 минут назад — так снижается риск fork bomb.

Типы сигналов: liveness, readiness и бизнес-уровень

СигналЧто проходитЧто всё ещё ломаетсяТипичный инструментРекомендуемый период
TCP открытПорт 443 принимает SYNОшибка TLS, паника приложенияnc -vz 127.0.0.1 PORTКаждые 120 с (дёшево)
HTTP liveness200 OK с пустым теломИстёкший токен моделиcurl -fsS --max-time 5 URLКаждые 60 с
HTTP readinessJSON: глубина очереди < порогаПадение upstream LLMСкрипт с jqКаждые 180 с
Бизнес-пробаСинтетический диалог завершёнРедкие гонкиОтдельная worker-miniКаждые 15 мин

Паттерн localhost, переживающий TLS спереди

Привяжите административный health-маршрут к 127.0.0.1 на высоком порту, отдельно от публичного webhook-сокета из гайда по ужесточению вебхуков. LaunchAgent должен работать в том же пользовательском контексте, что и шлюз, чтобы элементы Keychain оставались разблокированными. Используйте curl --fail --silent --show-error --max-time 5, чтобы зависший бэкенд не блокировал launchd бесконечно.

curl -fsS --max-time 5 http://127.0.0.1:18080/healthz || logger -t openclaw-probe "FAIL"

Таймер LaunchAgent: StartInterval и ThrottleInterval

Apple задаёт StartInterval в секундах; вместе с ThrottleInterval не меньше 30, если скрипт пробы ещё и запускает remediation — иначе вы бьёте по launchctl kickstart быстрее, чем шлюз успевает освободить сокеты. Успехи логируйте только на уровне отладки; неудача — одна строка с эпохой Unix, кодом выхода и временем curl.

Переиспользуйте runbook перезапуска: при падении проб вызывайте тот же обёрточный скрипт, что в восстановлении шлюза, чтобы операторам запоминался один сценарий.

Внешняя синтетика без публикации админ-маршрутов

Выберите внешний монитор с взаимными TLS client certs или подписанными заголовками запроса; не выкладывайте неаутентифицированный health JSON в открытый интернет. Задержка HTTPS-пробы из Токио до mini в JP должна укладываться примерно в 80 мс p95 — если синтетика деградирует, а localhost зелёный, подозревайте WAF выше по цепочке или истечение сертификата, а не сам OpenClaw.

Пороги по диску и unified logging

Нагрузки OpenClaw со стримингом транскриптов заполняют /var/db/diagnostics быстрее, чем команды ожидают. Алертите по доступным байтам ниже 12 ГБ (не по процентам — снимки APFS искажают проценты). Отслеживайте скорость роста: больше 3 ГБ в сутки на однотенантной mini обычно означает, что после инцидента оставили включённым отладочный лог. Ротируйте логи приложения лимитами в духе newsyslog или отправляйте на удалённое хранилище, пока gzip не начал отъедать CPU у инференса.

Ротация секретов: если пробы падают с HTTP 401 сразу после смены ключа, монитор должен читать версионируемые секреты из Keychain по гайду по секретам — не вшивайте долгоживущие PAT в plist.

Пять шагов, когда пробы стали красными

  1. Подтвердите охват: расходятся ли localhost и внешние пробы? Если падает только внешняя — начинайте с TLS и DNS.
  2. Проверьте stderr LaunchAgent: log show --predicate 'process == "curl"' --last 5m в macOS 15 ловит большинство сбоев без verbose-логов шлюза.
  3. Валидируйте зависимости: диск, inode, счётчики 429 у провайдера моделей — повторно используйте таблицу HTTP-сигналов из гайда по failover.
  4. Один перезапуск по защищённому паттерну kickstart; если пробы снова красные в течение 90 секунд, прекратите цикл и снимите spindump.
  5. Задокументируйте blast radius: какие автоматизации приостановлены, какие регионы HK / JP / KR / SG / US остались здоровыми, приложите артефакты к тикету изменений.

FAQ

Запускать пробы от root? Предпочтительно тот же непривилегированный пользователь, что и у шлюза, чтобы права на файлы совпадали с продом.

Можно ли переиспользовать MCP health? Часто да — см. настройку MCP — но core health OpenClaw держите отдельно, чтобы частичный аут MCP не маскировал смерть шлюза.

А высокая конкурентность агентов? При всплеске конкуренции readiness-пробы могут дребезжать — ужесточайте пороги очереди раньше, чем глушить алерты.

Почему Mac mini ProxyMac — правильное место для ужесточения проб OpenClaw

Запуск проб рядом со шлюзом на Apple Silicon M4 в HK / JP / KR / SG / US даёт предсказуемый CPU для скриптов curl+jq, нативную интеграцию с launchd и достаточно однотенантного диска, чтобы пережить подробный лог во время инцидента — без сюрпризов Linux cgroups. Арендуйте mini ближе к региону API моделей через тарифы, закрепите plist проб в том же Git-репозитории, что и конфиг OpenClaw, по гайду GitOps, и освободите машину после пилота, чтобы финансы видели понятные SKU вместо загадочных строк облака.

Автоматизация с запасом под пробы

Mac mini в HK / JP / KR / SG / US для OpenClaw и скриптов мониторинга