Дата: 03.05.2026
Автор: Денис (devops)
Статус: 📋 План (ожидает выполнения)
Связанный отчёт: Диагностический отчёт: инциденты 03.05.2026
OpenProject: #265
systemd DBus недоступен (root cause #1)
├── Gateway auto-restart гонка
├── openclaw gateway stop не работает
├── openclaw doctor --fix не работает
└── Gateway не обновляется до 2026.5.2
IPv6 connectivity отсутствует (root cause #2)
├── Telegram fetch timeouts (188/день)
├── Event loop забивается (max delay 19 сек)
└── Slow startup stages (auth 6с, model-resolution 5.8с)
Версия gateway расходится с CLI (2026.4.26 vs 2026.5.2)
├── CLI опции изменились (--model, --url)
├── Control UI: sessionId → sessionKey ошибка
└── Embedded fallback: provider/model overrides not authorized
Gateway нагрузка (RAM 855MB, CPU 77%)
├── Slow responses (>2 min на простой запрос)
├── Stuck sessions (main >4 min)
└── MEMORY.md too large (16KB > 12KB limit)
Порядок: сначала корневые (#1 → #2), потом производные.
Проверка: gateway жив и отвечает
openclaw gateway status
Маркер готовности: Connectivity probe: ok
Ветка отступления: если gateway мёртв — перейти к Этапу 1 немедленно
Зависимость: ни от чего (корневая проблема)
Блокирует: Этапы 3, 4
ls -d /run/user/$(id -u) && echo "OK" || echo "FAIL"
Проверка: директория /run/user/999 существует
ps aux | grep "[d]bus-daemon.*session"
Проверка: процесс dbus-daemon запущен (PID виден)
loginctl show-user openclaw | grep Linger
Проверка: Linger=yes
Если Linger=no: sudo loginctl enable-linger openclaw
export XDG_RUNTIME_DIR=/run/user/$(id -u)
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
systemctl --user status openclaw-gateway
Проверка: systemctl показывает статус сервиса без ошибки Failed to connect to bus
Маркер успеха: systemctl --user status работает
grep -q "XDG_RUNTIME_DIR" ~/.bashrc || echo 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' >> ~/.bashrc
grep -q "DBUS_SESSION_BUS_ADDRESS" ~/.bashrc || echo 'export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus' >> ~/.bashrc
Проверка: tail -4 ~/.bashrc показывает обе переменные
Ветка отступления: если systemctl всё равно не работает → использовать kill + foreground метод для перезапусков, пропустить Этап 3 (автообновление сервиса)
Зависимость: ни от чего (корневая проблема)
Блокирует: Этап 5 (Telegram таймауты)
curl -6 -s -o /dev/null -w "IPv6: HTTP %{http_code}\n" --connect-timeout 5 https://api.telegram.org/
curl -4 -s -o /dev/null -w "IPv4: HTTP %{http_code}\n" --connect-timeout 5 https://api.telegram.org/
Проверка: IPv6 → HTTP 000, IPv4 → HTTP 2xx/3xx/4xx (НЕ 000)
Маркер: Подтверждено — IPv6 connectivity отсутствует
grep "api.telegram.org" /etc/hosts
Проверка: содержит 149.154.166.110 api.telegram.org
grep "dns-result-order" /home/openclaw/.openclaw/gateway.systemd.env
Проверка: содержит NODE_OPTIONS=--dns-result-order=ipv4first
cat /proc/$(systemctl --user show openclaw-gateway -p MainPID | cut -d= -f2)/environ 2>/dev/null | tr '\0' '\n' | grep NODE_OPTIONS
Проверка: содержит --dns-result-order=ipv4first
Маркер успеха: ✅ Оба механизма на месте (hosts + NODE_OPTIONS)
# После перезапуска gateway (см. Этап 3):
sleep 60
grep "fetch.timeout.*getMe" /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | tail -3
Проверка: новых таймаутов не появилось за минуту после перезапуска
Маркер успеха: 0 таймаутов за 5 минут после перезапуска
Ветка отступления: если таймауты остались → баг внутри OpenClaw (undici/grammy), не чинится нами. Завести багрепорт разработчикам OpenClaw.
Зависимость: Этап 1 (systemd working)
Блокирует: Этапы 5, 6
openclaw --version
cat /home/openclaw/.openclaw/tools/node-v22.22.0/lib/node_modules/openclaw/package.json | python3 -c "import sys,json; print(json.load(sys.stdin)['version'])"
Проверка: обе показывают 2026.5.2
export XDG_RUNTIME_DIR=/run/user/$(id -u)
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
openclaw doctor --fix
# ответить "Yes" на предложение обновить gateway service config
Проверка: нет ошибок Gateway service update failed
export XDG_RUNTIME_DIR=/run/user/$(id -u)
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
systemctl --user restart openclaw-gateway
sleep 5
systemctl --user status openclaw-gateway
Проверка: Active: active (running), новая версия в статусе
openclaw gateway status
Проверка: версия в выводе совпадает с 2026.5.2
Маркер успеха: gateway работает на 2026.5.2, старых plugin-runtime-deps больше нет
Ветка отступления (если systemctl не работает):
# Ручной метод:
kill $(lsof -nP -iTCP:18789 -sTCP:LISTEN | awk 'NR==2{print $2}')
sleep 5
openclaw gateway --port 18789 &
Зависимость: Этап 3 (gateway 2026.5.2)
Приоритет: низкий (не влияет на uptime)
sessionId на sessionKey в вызовах chat.sendОтветственный: разработчик Control UI (не Денис)
Проверка: Control UI открывается без ошибки unexpected property 'sessionId'
Зависимость: Этапы 2 + 3
Цель: подтвердить, что время ответа вернулось к норме
grep "embedded-run.*startup stages" /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | tail -3
Ожидаемый результат: totalMs < 10,000 (после фикса IPv6)
Текущий baseline: 30,726ms
grep "event_loop_delay" /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | tail -3
Ожидаемый результат: eventLoopUtilization < 0.3, eventLoopDelayMaxMs < 1000
systemctl --user status openclaw-gateway | grep -E "Memory|CPU"
Ожидаемый результат: RAM < 600MB, CPU не растёт линейно
time openclaw agent --agent main --message "ping" --to "cli-test"
Ожидаемый результат: ответ < 15 секунд (сейчас > 60 сек)
Ветка отступления: если время ответа не улучшилось → проблема в модели DeepSeek (API latency) или в количестве активных сессий. Проверить openclaw sessions list и закрыть неиспользуемые.
Зависимость: Этапы 1-3
Приоритет: средний (не блокирует работу)
Добавить в health-check.sh порог диска с алертом (уже есть частично)
wc -c /home/openclaw/.openclaw/workspace/MEMORY.md
Цель: < 12,000 chars
mkdir -p /var/tmp/openclaw-compile-cache
echo 'export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache' >> ~/.bashrc
| Этап | Статус | Блокирует |
|---|---|---|
| 0: Санитарная проверка | 🟢 Пройдена | — |
| 1: systemd DBus | 🟡 Частично (переменные есть) | 3, 4 |
| 2: IPv6 → IPv4 | 🟡 Частично (hosts+NODE_OPTIONS есть) | 5 |
| 3: Обновление gateway | 🔴 Не сделан | 4, 5 |
| 4: Control UI | ⚪ Не начат | — |
| 5: Верификация | ⚪ Ждёт этапы 2+3 | — |
| 6: Мониторинг | ⚪ Не начат | — |
#incident #devops #diagnostic #gateway #systemd #ipv6 #plan #remediation