Cистема логирования изменений данных.
- Конфигурация - настройка политики аудита и инфраструктуры
- Настройка CDC - настройка PostgreSQL и Debezium для CDC
ChangeLogMonitor отслеживает и визуализирует все изменения данных в базе данных. Система построена на Change Data Capture (CDC) с использованием Debezium и работает в двух режимах: встроенно в приложение или как отдельный сервис.
- Захват изменений: EF Core интерцептор записывает изменения в таблицу
audit_logс метаданными (кто, когда, контекст) - CDC через Debezium: Debezium отслеживает изменения и отправляет события в Kafka
- Агрегация: DataAggregator получает CDC события, соединяет данные с метаданными
- Финализация: Данные сохраняются в ClickHouse и доступны через REST API
- Визуализация: UI показывает журнал изменений с фильтрацией и поиском
Используйте NuGet пакет ChangeLogMonitor.Embedded в вашем приложении.
Разверните ChangeLogMonitor.Standalone как отдельный сервис.
-
Скопируйте конфигурацию:
cp changelog-config.example.yaml changelog-config.yaml cp appsettings.example.json appsettings.json
-
Настройте подключения в appsettings.json
-
Запустите:
# Standalone dotnet run --project ChangeLogMonitor.Standalone # TestProject тестовый проект с готовыми эндпоинтами для проверки функционала dotnet run --project TestProject
- .NET 9.0
- Entity Framework Core 9
- Kafka
- Debezium
- ClickHouse
- PostgreSQL(и другие базы поддерживающие WAL)
Для помощи в синтаксисе созданы подсказки в rider
Для активации необходимо сделать следующие шаги
1. Settings → Languages & Frameworks → Schemas and DTDs → JSON Schema Mappings
2. Нажать +
3. Заполнить:
- Name: ChangeLogMonitor Config
- Schema file or URL: выбрать changelog-config.schema.yaml
- Нажать + в нижней части и добавить File path pattern: changelog-config*.yaml
4. Apply → OK