Una aplicación reutilizable de Django para auditar modelos automáticamente con integración con Kafka.
Project description
Unemi Audit Kafka
unemi-audi-kafka
es una aplicacion reutilizable de Django que audita automaticamente los cambios en los modelos (creacion, actualizacion, eliminacion) en todos los modelos de tu proyecto Django. Se integra con Kafka para el envio de logs y permite una auditoria configurable para los modelos importantes. La aplicacion captura metadatos utiles como el usuario que realizo los cambios, la IP de la solicitud, la URL y mas.
Caracteristicas
- Auditoria Automatica: Registra automaticamente todos los modelos de Django para el registro de auditoria.
- Integracion con Kafka: Utiliza
confluent_kafka
para enviar los registros de auditoria a los temas de Kafka. - Auditoria de Configuracion: Registra manualmente modelos importantes para la auditoria de configuracion.
- Middleware de Contexto de Usuario: Captura informacion sobre el usuario, la IP de la solicitud y el agente de usuario a traves de middleware.
- Personalizable: Puedes extender o sobrescribir middleware, y controlar el comportamiento del productor de Kafka.
Instalacion
-
INSTALAR la libreria usando pip:
pip install unemi-audi-kafka
-
Agregar la libreria en Django INSTALLED_APPS:
En tu
settings.py
, configura las aplicaciones:INSTALLED_APPS = [ # Other installed apps 'audit_logger', ]
-
Agregar el MIDDLEWARE:
En tu
settings.py
, configura las middlewares:MIDDLEWARE = [ # Other middlewares 'audit_logger.middlewares.AuditUserMiddleware', ]
-
Agregar CONFIGURACIONES DE KAFKA:
En tu
settings.py
, configurar los Kafka broker y topics:KAFKA_BROKER_URL = 'localhost:9092' # Replace with your Kafka broker URL KAFKA_TOPIC_LOGS = 'audit_logs' # Topic for log auditing KAFKA_TOPIC_ERRORS = 'audit_errors' # Topic for error logging KAFKA_TOPIC_CONFIG = 'audit_config' # Topic for configuration auditing
Opcional
Si deseas guardar las configuraciones de tu aplicacion, la puedes separar de los otras tablas con:
En tu models.py
, agregar modelo manualmente:
from audit_logger import AuditLogger
class Configuracion(ModelBase):
nombre = models.CharField(unique=True, max_length=100, verbose_name=u'Nombre')
# Registrar Configuracion
AuditLogger.register_auditoria_config(Configuracion)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file unemi_audi_kafka-0.12.tar.gz
.
File metadata
- Download URL: unemi_audi_kafka-0.12.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8983371fbc1e5e3b1ac0fa3a5177f019ecb435e4ad2ad34638c6705c243781b |
|
MD5 | 555f8d90a18e4ab9e048fc323a72b6b7 |
|
BLAKE2b-256 | 2b9468bc09631f82549df16c85360a610c8a9308834ca68e9d1dba7f5937c873 |
File details
Details for the file unemi_audi_kafka-0.12-py3-none-any.whl
.
File metadata
- Download URL: unemi_audi_kafka-0.12-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea82b4a1e753ed2a93120d6ff7d50167d0a96cd01ef66c40225f61d0c868c4ec |
|
MD5 | a13317f55a0def14b43fa4f3c607f0fa |
|
BLAKE2b-256 | 2221f402a41c6c86de43ebee74e1686cb80304bac0875eff2bbc95cd70658931 |