53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# DLP Aggregation
|
|
|
|
Централизованная агрегация DLP-событий в `AWatch-rus` реализована скриптом:
|
|
|
|
- `scripts/aggregate_dlp_events.py`
|
|
|
|
Это server-side слой, который собирает события из bucket-контуров `ActivityWatch` и пишет их в нормализованное хранилище для отчётности, поиска и Grafana/SIEM-style use cases.
|
|
|
|
## Какие потоки читаются
|
|
|
|
Сейчас агрегируются:
|
|
|
|
- `aw-file-operations_*`
|
|
- `aw-dlp-incidents_*`
|
|
|
|
То есть в агрегатор попадают:
|
|
|
|
- файловые операции
|
|
- DLP-инциденты
|
|
- связанный контекст хоста и пользователя
|
|
|
|
## Куда пишутся данные
|
|
|
|
Поддерживаются два режима:
|
|
|
|
- `SQLite` — быстрый smoke/runtime без отдельной БД
|
|
- `PostgreSQL` — централизованный reporting path
|
|
|
|
Для `SQLite` используется `WAL`, чтобы контур был устойчивее при обычной эксплуатации.
|
|
|
|
## Что даёт агрегатор
|
|
|
|
Этот слой нужен для:
|
|
|
|
- централизованного поиска по DLP-событиям
|
|
- Grafana-дашбордов
|
|
- выгрузки в SIEM-подобные контуры
|
|
- нормализации событий из разных bucket-источников
|
|
|
|
## Инкрементальная работа
|
|
|
|
Агрегатор хранит state и продолжает сбор с последней успешной точки, чтобы:
|
|
|
|
- не читать весь исторический массив каждый раз
|
|
- не плодить дубли
|
|
- переживать рестарты и кратковременные сбои
|
|
|
|
## Канонические документы
|
|
|
|
- [Основной документ по агрегатору](../dlp-aggregator.md)
|
|
- [Настройка сервера](Server-Setup)
|
|
- [Prometheus + Grafana стек](Monitoring-Setup)
|