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:
@@ -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).
|
||||
Reference in New Issue
Block a user