B22: прикладное логирование vector.* + администрирование в доках (по образцу РВС)

- backend/logging_setup.py: setup_logging() (stdout INFO + файл /tmp/vector/vector.log,
  ротация 5×2 МБ, VectorLOGLEVEL/VectorLOGFILE/VectorLOGDIR), get_logger('vector.*')
- события: vector.analyze (матрасчёт с длительностью), vector.auth (login_ok/failed/
  lockout), vector.audit (каждая запись), vector.contour (ok/failed/rejected),
  vector.operations (operation_complete), vector.geocode (успех/timeout/ошибка)
- существующие логгеры переведены в namespace vector.* (geo, geo.osm, rules, water, admin)
- README §13а: таблица наблюдаемых событий + правила (без ПДн/секретов)
- SETUP_GUIDE: §15 RPO/RTO + backup≠restore, §16 grep по vector.*, §17 диагностика
  по цепочкам (БД, 500, fallback-зоны, вход), §17а чек-лист передачи проекта
- DEPLOY.md: вместо устаревшего дубля — ссылка на актуальные доки + шпаргалка стенда
- тесты: 239 passed
This commit is contained in:
2026-09-25 09:38:39 +03:00
parent 1513bad538
commit d5a270f3af
16 changed files with 345 additions and 117 deletions
+23 -105
View File
@@ -1,118 +1,36 @@
# Инструкция по развертыванию SAR-MCHS на LXC 108
# Развёртывание ВЕКТОРа
## Текущее состояние
**Актуальная документация:**
Проект развернут на LXC 108 (Lab) по адресу: **192.168.0.99**
- **[SETUP_GUIDE.md](SETUP_GUIDE.md)** — полное руководство: требования, Docker, .env,
миграции/сиды, OSM-геослой, пользователи, КОНТУР, HTTPS, обновление, бэкапы,
мониторинг, диагностика, чек-листы (развёртывание §18, передача проекта §17а).
- **[README.md](README.md)** — описание системы: архитектура, API, БД, RBAC,
аудит, прикладное логирование (§13а).
## Доступ к сервисам
## Текущее состояние (тестовый стенд)
- **Backend API**: http://192.168.0.99:8000
- Swagger документация: http://192.168.0.99:8000/docs
- ReDoc: http://192.168.0.99:8000/redoc
- **Frontend**: http://192.168.0.99:3000
Проект развёрнут на LXC 108 (Lab): **192.168.0.99**, путь `/root/vector`, docker compose.
- **Adminer** (управление БД): http://192.168.0.99:8080
- Система: PostgreSQL
- Сервер: postgres
- Пользователь: postgres
- Пароль: postgres
- База данных: vector_mchs
| Сервис | Адрес |
|--------|-------|
| Backend API + Swagger | http://192.168.0.99:8000 (/docs) |
| Frontend | http://192.168.0.99:3000 |
| Adminer | http://192.168.0.99:8080 (postgres:postgres, БД vector_mchs) |
| PostgreSQL | 192.168.0.99:5432 |
- **PostgreSQL**: 192.168.0.99:5432
## Управление (шпаргалка)
## Управление проектом
### Запуск проекта
```bash
cd /root/vector
docker compose up -d
```
### Остановка проекта
```bash
cd /root/vector
docker compose down
```
### Перезапуск с пересборкой
```bash
cd /root/vector
docker compose down
docker compose up -d --build
```
### Просмотр логов
```bash
# Все сервисы
docker compose logs -f
# Конкретный сервис
docker compose up -d # запуск (после правки .env — пересоздание, restart env не перечитывает!)
docker compose ps # статус
docker compose logs -f backend
docker compose logs -f frontend
docker compose logs -f postgres
docker compose down # остановка
docker compose up -d --build # пересборка
```
### Статус сервисов
```bash
docker compose ps
```
Типовой цикл обновления: push в Gitea → `git pull` → `docker restart vector-backend vector-frontend`
(после правки миграций — `alembic upgrade head` в контейнере, после правки env — `up -d backend`).
## Настройка
Переменные окружения находятся в файле `/root/vector/.env`
Важные переменные:
- `JWT_SECRET` - секрет для JWT токенов
- `DATABASE_URL` - строка подключения к PostgreSQL
- `CORS_ORIGINS` - разрешенные origins для CORS
Примечание: внешний ИИ (Claude/Anthropic) из проекта УБРАН — анализ
полностью локальный и детерминированный (services/rules_analysis.py).
API-ключи LLM не нужны.
## Структура проекта
```
/root/vector/
├── backend/ # FastAPI backend
│ ├── api/v1/ # API endpoints
│ ├── main.py # Точка входа
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/ # React frontend
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── Dockerfile
├── docker-compose.yml # Конфигурация Docker Compose
├── .env # Переменные окружения
└── README.md
```
## Подключение к LXC 108
Из Proxmox хоста:
```bash
pct exec 108 -- bash
```
Через SSH с вашей машины:
```bash
ssh root@192.168.0.65 "pct exec 108 -- bash"
```
## Следующие шаги
1. Настроить базу данных (миграции Alembic)
2. Создать модели SQLAlchemy
3. Реализовать аутентификацию с JWT
4. Разработать React компоненты для frontend
## Проверка работоспособности
Все сервисы запущены и доступны:
- ✅ PostgreSQL 16 (порт 5432)
- ✅ Adminer (порт 8080)
- ✅ Backend API (порт 8000)
- ✅ Frontend (порт 3000)
Подключение к LXC: `ssh root@192.168.0.65 "pct exec 108 -- bash"` (pve-node1).