Files
AWatch-rus/docs/INSTALL_RU.md
T

160 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AWatch-rus: установка и первичная проверка
Статус: подготовительный документ для пакета реестра российского ПО.
Публичное имя: `AWatch-rus`.
Техническая база и репозиторий: `AWatch-rus`.
## 1. Назначение
Документ описывает воспроизводимую установочную модель AWatch-rus без публикации
секретов и внутренних адресов production-контура.
Подробные внутренние playbooks и текущие runtime-пути описаны в
`docs/FULL_DEPLOYMENT_MANUAL_RU.md` и `adk-rust/RUNBOOK.md`. Этот документ
является публично-подготовительной версией для продукта.
## 2. Минимальные требования
Серверный контур:
- Linux server или LXC/VM;
- systemd;
- сетевой доступ от endpoint-collectors до AW-rus API;
- Rust runtime binaries из release artifacts;
- Python runtime для Telegram bot и legacy-compatible компонентов, где он еще
используется;
- Grafana/InfluxDB/SQLite/ClickHouse по выбранному профилю установки.
Endpoint-контур:
- Windows с PowerShell 5.1+;
- права локального администратора для установки collectors;
- Scheduled Tasks;
- доступ к серверному API;
- каталог для incident artifacts/evidence sync.
Административный контур:
- Ansible;
- SSH/WinRM доступ;
- git;
- доступ к release artifacts.
## 3. Общий порядок установки
1. Подготовить сервер.
2. Установить AW-rus server.
3. Развернуть Rust binaries AWatch-rus.
4. Установить systemd units/timers.
5. Развернуть AWatch-rus Portal.
6. Настроить Grafana datasources и dashboards.
7. Настроить DLP/worktime/reporting services.
8. Развернуть Windows collectors.
9. Включить evidence upload/sync.
10. Выполнить smoke checks.
## 4. Конфигурация
Секреты задаются вне git:
- tokens;
- passwords;
- SSH/WinRM credentials;
- Grafana admin/API credentials;
- Telegram bot token;
- evidence upload token.
В git допускаются только:
- `.example` файлы;
- шаблоны переменных;
- документация;
- playbooks без секретов.
## 5. Установка серверных компонентов
Типовой путь:
```bash
cd ansible
ansible-playbook -i inventory.ini deploy_aw_server.yml
ansible-playbook -i inventory.ini deploy_detmir_portal.yml
ansible-playbook -i inventory.ini deploy_grafana_dashboards.yml
```
Для production нужно использовать актуальный inventory и group vars конкретного
контура. Секреты передаются через защищенное окружение или отдельные
непубликуемые файлы.
## 6. Установка Windows collectors
Типовой путь:
```bash
cd ansible
ansible-playbook -i inventory.ini deploy_aw_windows.yml
ansible-playbook -i inventory.ini deploy_dlp_evidence_sync.yml
```
После установки проверяются:
- scheduled tasks созданы;
- tasks выполняются без ошибок;
- ActivityWatch buckets получают события;
- DLP/evidence sync task возвращает успешный статус.
## 7. Первичная проверка
Минимальный smoke:
```bash
detmir-status --json
detmir-check --json
detmir-dlp --json
detmir-grafana-check --json
```
Ожидается:
- status OK;
- failed systemd units отсутствуют;
- AW API отвечает;
- Grafana datasources healthy;
- mandatory dashboards не stale;
- portal health OK.
## 8. Проверка evidence workflow
Контролируемый тест:
1. Создать тестовый incident artifact на endpoint.
2. Дождаться scheduled sync или запустить его вручную.
3. Проверить upload на сервере.
4. Проверить portal evidence metadata.
5. Открыть preview/download.
6. Проверить audit.
7. Удалить тестовый incident/artifact/state.
Тестовые artifacts должны быть явно помечены как synthetic/smoke.
## 9. Завершение установки
Перед передачей в эксплуатацию:
- сохранить версии release artifacts;
- сохранить контрольный `detmir-status`;
- сохранить список active services/timers;
- сохранить список Grafana dashboards;
- проверить backup/restore;
- проверить, что ноутбук администратора не является runtime-зависимостью.
## 10. Связанные документы
- `docs/ADMIN_GUIDE_RU.md`
- `docs/ARCHITECTURE_RU.md`
- `docs/FULL_DEPLOYMENT_MANUAL_RU.md`
- `docs/GRAFANA_DASHBOARDS_RU.md`
- `adk-rust/RUNBOOK.md`