160 lines
5.2 KiB
Markdown
160 lines
5.2 KiB
Markdown
# 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`
|