6.3 KiB
date, type, tags
| date | type | tags | ||||||
|---|---|---|---|---|---|---|---|---|
| 2026-05-08 | decision |
|
2026-05-08: Северный лес — отдельный AI-ассистент + watchdog для server1c (Бужарово)
Контекст
Олег уезжает в отпуск в Египет 2026-05-09 → 2026-05-22. На server1c (Бужарово, VDS 185.13.47.2 / NetBird 100.70.75.103) недавно (2026-05-07) был rmngr-loop, который лечится только Restart-Service '1C:Enterprise 8.3 Server Agent (x86-64)' -Force — ребут не помогает (см. decisions/2026-05-07-buzharovo-1c-rmngr-loop-after-crash).
Пока Олег в отпуске, нужно:
- Чтобы кто-то узнавал когда сервер упал (Telegram-группа руководящего состава Северного леса);
- Чтобы можно было дёрнуть восстановительное действие (
/approve restart_1c) не дожидаясь возвращения Олега из Египта.
Через ~2 недели (после Египта) планируется миграция server1c с VDS на собственный сервер. Бот должен работать до и после миграции — поэтому он не на самом server1c, а на dttb-Proxmox через NetBird.
Развилка: clawdbot vs openclaw vs другой watchdog
Рассматривались три варианта:
| Вариант | Плюсы | Минусы |
|---|---|---|
| clawdbot (как у [[projects/niikn/clawdbot-niikn | Максимки-Мауля]]) | Проверенный рецепт, проще |
| openclaw (свежий стек 137) | Встроенный exec-approvals.json whitelist для shell-команд. Plugins, skills, делегирование на Opus 4.7 через Max. Свежий, активная разработка. |
Жёсткая schema, есть тонкости (bonjour, IPv6, FakeIP DNS) — но они уже разобраны на 137. |
| Голый watchdog без AI | Минимум зависимостей. | Нет диагностики "почему упало". Невозможно дёрнуть /restart_1c через /approve — только ручной WinRM. |
Решение: openclaw — встроенный whitelist для shell-команд (exec-approvals.json) — это прямо то что нужно для /approve flow. Плюс Опус 4.7 через Max.
Архитектура
Изоляция от Максимки (LXC 137): не подвешиваем как доп.канал на 137 — если openclaw на 137 упадёт (а это бывает: bonjour, FakeIP, Kiro 402), упадут и алерты Бужарово. Для критичной мониторинг-задачи нужен отдельный инстанс.
Хост: новый LXC 139 на dttb (10.0.0.240, NetBird 100.70.212.78, Ubuntu 24.04, 2c/4GB/10GB).
Два слоя независимых:
- buzharovo-watchdog — bash + curl→TG bot API напрямую, systemd timer 60s. Не зависит от openclaw. Если AI-часть упала, алерт всё равно дойдёт.
- openclaw 2026.5.7 — AI-помощник для диагностики и
/approve-action'ов через WinRM.
Алерт-уровни:
OK— всё доступно;WARNING— часть проверок упала;WARNING_NETBIRD— NetBird до server1c лежит, публично сервер виден;CRITICAL— сервер не отвечает ни публично, ни через NetBird.
Антиспам: алерт шлётся только при смене уровня, состояние в /var/lib/severny-les/state.json.
WinRM-actions с подтверждением:
- read-only без approval (
/status,/check_1c,/check_rmngr); - destructive с обязательным
/approveот Олега1292155421(/restart_1c,/kill_orphan_ragent); - ребута сервера НЕ даём (по опыту 2026-05-07 не помогает rmngr-loop).
Превентивные правки на старте (уроки 137)
Все три "ловушки openclaw" пропатчены сразу:
plugins.entries.bonjour.enabled = false— против mDNS crash-loop (см. projects/dttb/openclaw#Crash-loop-каждые-40-сек).pct set 139 --nameserver '1.1.1.1 8.8.8.8'+ правка/etc/resolv.conf— против FakeIP DNS от 10.0.0.1.NODE_OPTIONS=--dns-result-order=ipv4firstв systemd unit — против IPv6-сбоев Telegram API.
systemd unit для openclaw — system-level (/etc/systemd/system/openclaw-gateway.service), а не --user как на 137. В LXC без user-session systemctl --user не работает (Failed to connect to bus).
Что осталось сделать после возвращения Олега
- NetBird ACL
severny-les→server1c(порт 5985 TCP минимум) — без него WinRM-actions не работают, watchdog мониторит только публичные проверки. - Добавить @bz_sl_bot в TG-группу руководящего состава, узнать
chat_id, обновить/etc/severny-les/watchdog.envBZ_TG_CHATиopenclaw.jsongroupAllowFrom. - После миграции server1c на свой сервер — обновить IP в
/root/clawd/INFRASTRUCTURE.mdи вbuzharovo-watchdog.sh.
Артефакты
- LXC 139
severny-les(10.0.0.240) - TG bot
@bz_sl_bot(token8322860033:...) - Справочник: projects/buzharovo/severny-les-bot
- Persona:
/root/clawd/{IDENTITY,INFRASTRUCTURE,USER,SOUL,TOOLS,MEMORY,HEARTBEAT}.md - Скрипты:
/root/clawd/scripts/check_buzharovo.sh,winrm_lib.py,check_1c_service.py,check_rmngr_cpu.py,restart_1c_agent.py,kill_orphan_ragent.py,heartbeat.sh - Watchdog:
/usr/local/bin/buzharovo-watchdog.sh+.service+.timer(60s);netbird-watchdogclone с 137 (2 мин) - Whitelist:
/root/.openclaw/exec-approvals.json