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 aplicación reutilizable de Django que audita automáticamente los cambios en los modelos (creación, actualización, eliminación) en todos los modelos de tu proyecto Django. Se integra con Kafka para el envío de logs y permite una auditoría configurable para los modelos importantes. La aplicación captura metadatos útiles como el usuario que realizó los cambios, la IP de la solicitud, la URL y más.

Características

  • Auditoría Automática: Registra automáticamente todos los modelos de Django para el registro de auditoría.
  • Integración con Kafka: Utiliza confluent_kafka para enviar los registros de auditoría a los temas de Kafka..
  • Auditoría de Configuración: Registra manualmente modelos importantes para la auditoría de configuración..
  • Middleware de Contexto de Usuario: Captura información sobre el usuario, la IP de la solicitud y el agente de usuario a través de middleware.
  • Personalizable: Puedes extender o sobrescribir middleware, y controlar el comportamiento del productor de Kafka.

Instalación

  1. INSTALAR la librería 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-0.3.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

unemi_audi_kafka-0.3-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unemi_audi_kafka-0.3.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

Hashes for unemi_audi_kafka-0.3.tar.gz
Algorithm Hash digest
SHA256 4eac9a925cf48c7a0c71051fa940c35b6b14fff8c11e2e0dfa8a774a0af67037
MD5 bd2339d16d735858c9e968c2c4850f18
BLAKE2b-256 54176826fcc5d01bd38d8c420e81595172b519df72b00c47c1cae82da9a9bfb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unemi_audi_kafka-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a86b2a39140b6aecf84a08129ac118792aecc6c89bdd097582f3b312dd077a47
MD5 873fe3be14090dfc785d660a6d987a55
BLAKE2b-256 798609260834a5e61aba0d06ad470ad7a577e5455a9dccd3a16264e64ca9dc60

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