Skip to main content

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

  1. INSTALAR la libreria usando pip:

    pip install unemi-audi-kafka
    
  2. Agregar la libreria en Django INSTALLED_APPS:

    En tu settings.py, configura las aplicaciones:

    INSTALLED_APPS = [
       # Other installed apps
       'audit_logger',
    ]
    
  3. Agregar el MIDDLEWARE:

    En tu settings.py, configura las middlewares:

    MIDDLEWARE = [
       # Other middlewares
       'audit_logger.middlewares.AuditUserMiddleware',
    ]
    
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unemi_audi_kafka-1.0.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

unemi_audi_kafka-1.0.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file unemi_audi_kafka-1.0.2.tar.gz.

File metadata

  • Download URL: unemi_audi_kafka-1.0.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.10

File hashes

Hashes for unemi_audi_kafka-1.0.2.tar.gz
Algorithm Hash digest
SHA256 824d0a6bcea066af4097b3b177bb95c3980166a41d689a8d93e9c5e1b98868b1
MD5 686c41a87d6b9b8d74c0ad497024cfeb
BLAKE2b-256 3744a7c4a8efc4707a669586027ec4cc7cab27d880cd677fd7d086d47cf3a6ad

See more details on using hashes here.

File details

Details for the file unemi_audi_kafka-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for unemi_audi_kafka-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 975a4bac0bcd03927ad0b3c0f007e9ad948b997066bdc00445ea99984dbd1562
MD5 447d9f577008c14aa0ac6246a0a7d46b
BLAKE2b-256 bdedb8fbd45a68d542c7812e797780df2c7111b4723b86352836589ae4f68def

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page