Антошка: самолечение — двухслойный watchdog + алерт
- 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) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user