tech:server:risks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tech:server:risks [2026/07/28 11:20] – [C1. Однократный сброс ACL вики] vas_admintech:server:risks [2026/07/28 11:39] (current) – removed vas_admin
Line 1: Line 1:
-====== Открытые риски ====== 
- 
-Реестр незакрытых проблем.  
- 
-Приоритет: **A** — требует действий, **B** — учитывать при развитии, **C** — 
-наблюдать. 
- 
-===== A. Требует действий ===== 
- 
-==== A1. Бэкапов нет ==== 
- 
-Резервное копирование не настроено.  
- 
-Что нужно: локальные архивы ''/opt/ve-playground/'' и ''/etc/nginx/'', плюс 
-**внешнее** копирование (локальные архивы на том же диске не спасают от потери 
-диска).  
- 
-==== A2. Мониторинга нет ==== 
- 
-Доступность держится только на ''restart: unless-stopped''. О падении сервиса 
-узнаём вручную. Внешнего healthcheck и алертов нет. 
- 
-Что нужно): проверка с **хоста** по cron/systemd-таймеру, 
-не изнутри контейнеров — упавший сервис не может сообщить о своём падении. Алерт 
-напрямую через Bot API Telegram, минуя приложение бота. 
- 
- 
-==== A3. Памяти в обрез, swap отсутствует ==== 
- 
-1.9 ГБ RAM без swap.  
- 
-^ Контейнер ^ mem_limit ^ 
-| ToolMesh | 1 ГБ | 
-| Telegram-бот | 512 МБ | 
-| ops-sidecar | 256 МБ | 
-| DokuWiki | не ограничен | 
-| KeyDB | не ограничен | 
- 
-Сейчас занято ~530 МБ, свободно ~1.4 ГБ — работает. После разворачивания бота 
-запас станет тонким, и при пике (крупная страница + агентная цепочка вызовов) OOM 
-killer убьёт процесс без предупреждения, так как деградировать в swap некуда. 
- 
-Варианты: добавить swap-файл, 
-выставить лимиты DokuWiki и KeyDB, снизить лимит ToolMesh, либо расширить RAM. 
- 
-==== A4. Порт webhook не ограничен по CIDR Telegram ==== 
- 
-Порт 8443 (webhook бота) не ограничен на уровне iptables. Планировалось 
-ограничение диапазонами Telegram (''91.108.4.0/22'', ''149.154.160.0/20'') в 
-цепочке ''DOCKER-USER''. 
- 
-Актуально к моменту разворачивания бота. 
- 
-===== B. Учитывать при развитии ===== 
- 
-==== B1. OAuth в ToolMesh не работает со стандартными клиентами ==== 
- 
-На неавторизованный запрос ToolMesh отвечает ''HTTP 200'' с JSON-RPC-ошибкой 
-вместо ''HTTP 401'' с ''WWW-Authenticate''. MCP-клиенты не распознают это как 
-«нужна авторизация» и не запускают браузерный вход. 
- 
-Обход применён: подключение по Bearer-токену. Подробности — 
-[[tech:server:toolmesh:auth]]. 
- 
-Дефект стоит сообщить апстриму (https://github.com/DunkelCloud/ToolMesh). Пока не 
-исправлен — OAuth-путь считать нерабочим и не выносить в инструкции. 
- 
- 
- 
-==== B2. Нет ограничения расходов на Anthropic API ==== 
- 
-Лимитов на количество запросов и токенов не предусмотрено. Агентные вызовы с 
-цепочкой инструментов на модели Opus обходятся заметно дороже обычного диалога. 
- 
-Актуально к моменту разворачивания бота: нужен лимит на пользователя и на сутки. 
- 
-===== C. Наблюдать ===== 
- 
-==== C1. Однократный сброс ACL вики ==== 
- 
-Наблюдался сброс ''acl.auth.php'' к состоянию после установки при сохранившихся 
-пользователях, неймспейсах и настройках ''remote''. Причина не установлена. 
-Что проверять при повторении. 
- 
----- 
- 
-[[tech:start|← Техническая документация]] 
  
  • tech/server/risks.1785230439.txt.gz
  • Last modified: 2026/07/28 11:20
  • by vas_admin