From eff0fa2596cd6895ed2416b3c9cba60d9e08a2f7 Mon Sep 17 00:00:00 2001 From: dttb Date: Mon, 1 Jun 2026 21:39:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D1=88=D0=BA=D0=B0:=20?= =?UTF-8?q?=D1=81=D0=B0=D0=BC=D0=BE=D0=BB=D0=B5=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=E2=80=94=20=D0=B4=D0=B2=D1=83=D1=85=D1=81=D0=BB=D0=BE?= =?UTF-8?q?=D0=B9=D0=BD=D1=8B=D0=B9=20watchdog=20+=20=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D1=80=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - antoshka-watch-self.sh (cron */5 в LXC 137): gateway/порт/DNS/getMe/crash-loop -> рестарт + алерт - antoshka-host-watchdog.sh (cron */5 на pve): контейнер лёг -> pct start + алерт - поверх systemd Restart=always + lingering; боевой тест ОК Co-Authored-By: Claude Opus 4.8 (1M context) --- projects/dttb/openclaw.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/projects/dttb/openclaw.md b/projects/dttb/openclaw.md index b3b341f..a02cdff 100644 --- a/projects/dttb/openclaw.md +++ b/projects/dttb/openclaw.md @@ -26,6 +26,16 @@ tags: [dttb, bot] | Node.js | v24.x | | Доступ | `sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 137 -- bash"` | +## Самолечение и сторожа (2026-06-01) + +Антошка защищён от падений в три слоя — при поломке чинится сам и пишет Олегу в TG (через свой токен `8020760639:…`, chat `1292155421`): + +1. **systemd** — user-сервис `openclaw-gateway` (`Restart=always` + `loginctl enable-linger root`): мгновенный авто-рестарт при краше + старт после ребута. (`systemctl --user`, нужен `XDG_RUNTIME_DIR=/run/user/0`.) +2. **`/root/antoshka-watch-self.sh`** (cron `*/5`, внутри LXC 137) — глубокая проверка того, что systemd не ловит: служба активна + порт 18789 слушает, DNS не FakeIP (198.18/19.x), Telegram достижим (getMe), нет crash-loop (рост `NRestarts`). Лечит (рестарт gateway / NetBird), алертит с дедупом + «отбой». Алерт уходит даже если gateway лежит (токен ≠ gateway). State: `/root/.antoshka-watch-self.{last,nrestarts}`. +3. **`/root/antoshka-host-watchdog.sh`** (cron `*/5`, на Proxmox-хосте `10.0.0.250`) — если контейнер 137 лёг целиком (внутренний сторож не сработает) → `pct start 137` + алерт. State: `/root/.antoshka-host-watchdog.last`. (Хост достаёт Telegram через домашний обход — проверено getMe.) + +Боевой тест 2026-05-31: `systemctl --user stop openclaw-gateway` → self-watchdog поймал (служба=inactive, порт=0) → перезапустил → ⚠️-алерт → следующий прогон ✅-отбой. Парный скрипт в обратную сторону — `/root/antoshka-watch-alex.sh` (Антошка стережёт пилот Алекса, cron `*/3`). + ## Установка (из чистого LXC) ```bash