Skip to main content

Log Stream

El Log Stream de Trébol te permite recibir eventos de auditoría en tiempo real directamente en tu plataforma de análisis de logs preferida. Actualmente soportamos integración con Splunk. Esta funcionalidad es ideal para:
  • Monitoreo de seguridad: Detecta actividad sospechosa en tu cuenta
  • Cumplimiento normativo: Mantén un registro completo de todas las acciones en tu cuenta
  • Análisis de uso: Entiende cómo tu equipo utiliza Trébol
  • Alertas personalizadas: Configura alertas basadas en eventos específicos

Estructura de eventos

Todos los eventos enviados por el Log Stream siguen una estructura consistente:
{
  "event_id": "550e8400-e29b-41d4-a716-446655440000",
  "event_name": "users.sign_in",
  "event_source": "auth0",
  "timestamp": "2026-01-12T10:30:00.000Z",
  "account_id": "account-123",
  "user_id": "user-456",
  "data": {
    "email": "[email protected]",
    "ip": "192.168.1.1",
    "user_agent": "Mozilla/5.0..."
  }
}

Campos del evento

CampoTipoDescripción
event_idstringIdentificador único del evento (UUID)
event_namestringNombre del evento (ver Eventos disponibles)
event_sourcestringOrigen del evento: b-v (Trébol) o auth0
timestampstringFecha y hora del evento en formato ISO 8601
account_idstringID de la cuenta donde ocurrió el evento
user_idstringID del usuario que generó el evento (opcional)
dataobjectDatos adicionales específicos del evento

Eventos disponibles

El Log Stream captura eventos de dos fuentes: Trébol (eventos de la plataforma) y Auth0 (eventos de autenticación).

Eventos de autenticación (Auth0)

Estos eventos se generan cuando los usuarios interactúan con el sistema de autenticación.

Autenticación

EventoDescripciónCódigos Auth0
users.sign_inUsuario inició sesión exitosamentes
users.sign_in_failedIntento de inicio de sesión fallidof, fp, fu
users.cross_origin_auth_failedError de autenticación cross-originfcoa
users.sign_outUsuario cerró sesiónslo
users.sign_out_failedError al cerrar sesiónflo
Datos adicionales para eventos de autenticación:
{
  "data": {
    "email": "[email protected]",
    "ip": "192.168.1.1",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
    "description": "Login successful",
    "connection": "Username-Password-Authentication",
    "client_id": "abc123",
    "client_name": "Trébol Dashboard"
  }
}

Ciclo de vida de usuarios

EventoDescripciónCódigo Auth0
users.deletedUsuario eliminadosdu
users.email_changedDirección de email cambiadasce
users.phone_changedNúmero de teléfono cambiadoscpn

Contraseñas

EventoDescripciónCódigo Auth0
users.password_change_failedError al cambiar contraseñafcp
users.password_reset_failedError al restablecer contraseñafcpr
security.password_leak_detectedContraseña encontrada en base de datos de filtracionespwd_leak

Autenticación multifactor (MFA)

EventoDescripciónCódigo Auth0
mfa.failedAutenticación MFA fallidagd_auth_failed
mfa.recovery_failedCódigo de recuperación MFA fallidogd_recovery_failed
mfa.otp_rate_limitedDemasiados intentos de OTPgd_otp_rate_limit_exceed

Seguridad y rate limiting

EventoDescripciónCódigo Auth0
security.account_blockedCuenta bloqueada (demasiados intentos fallidos)limit_wc
security.suspicious_login_blockedInicio de sesión sospechoso bloqueadolimit_sul

Tokens

EventoDescripciónCódigo Auth0
token.exchange_failedError en intercambio de tokenfeacft

Eventos de Trébol (B-V)

Estos eventos se generan por acciones realizadas en la plataforma de Trébol.

API Keys

EventoDescripción
apikeys.createAPI Key creada
apikeys.deleteAPI Key eliminada
apikeys.listListado de API Keys consultado

Verificaciones

EventoDescripciónMetadatos
verifications.get_allListado de verificaciones consultadohas_status_filter, has_date_filter, has_search_filter, has_tag_filter, has_flow_filter, has_label_filter, is_paginated, has_pagination
verifications.get_by_idVerificación consultada por IDverification_id
verifications.updateVerificación actualizadaverification_id, fields_changed, fields_changed_count
verifications.add_itemsItems agregados a verificaciónverification_id, items_count, item_types
verifications.add_key_peoplePersonas clave agregadasverification_id, key_people_count, scopes_used
verifications.delete_subjectsSujetos eliminadosverification_id, shareholders_deleted_count, signatories_deleted_count, shareholders_ids, signatories_ids
verifications.get_entityEntidad consultadaentity, version
verifications.update_labelsEtiquetas actualizadasverification_id, labels_count
Ejemplo de datos para eventos de verificaciones:
{
  "data": {
    "email": "[email protected]",
    "ip": "192.168.1.1",
    "user_agent": "Mozilla/5.0...",
    "api_source": "frontend-api",
    "verification_id": "98d9010e-092c-4a01-bf24-d3e0c4e4f618",
    "fields_changed": ["status", "tags"],
    "fields_changed_count": 2
  }
}

Items de verificación

EventoDescripciónMetadatos
verification_items.create_user_eventEvento de usuario creadoevent_name
verification_items.get_allItems listadoshas_item_type_filter, has_item_status_filter, has_tag_filter, has_pagination
verification_items.updateItem actualizadohas_value_update, has_options_update, has_tags_update, value_fields_updated, options_fields_updated

Empresa

EventoDescripciónMetadatos
company.get_sectionSección de empresa consultadasection

Configurar integración con Splunk

Para recibir eventos en Splunk, necesitas configurar un HTTP Event Collector (HEC) en tu instancia de Splunk y luego crear la integración en Trébol.

Requisitos previos

1

Configurar HTTP Event Collector en Splunk

  1. En Splunk, ve a Settings → Data Inputs → HTTP Event Collector
  2. Haz clic en New Token
  3. Configura el token:
    • Name: trebol-log-stream
    • Source type: _json
    • Index: Selecciona o crea un índice para los eventos de Trébol
  4. Guarda y copia el Token Value generado
Importante: Guarda el token de forma segura. Lo necesitarás para configurar la integración en Trébol.
2

Obtener la URL del HEC

La URL del HEC tiene el siguiente formato:
https://<tu-instancia-splunk>:8088/services/collector/event
Por ejemplo:
  • Splunk Cloud: https://http-inputs-acme.splunkcloud.com:443/services/collector/event
  • Splunk Enterprise: https://splunk.tuempresa.com:8088/services/collector/event
Asegúrate de que el puerto 8088 (o el puerto configurado para HEC) esté accesible desde internet si usas Splunk Enterprise on-premise.

Crear la integración en Trébol

Para configurar la integración con Splunk, debes usar la aplicación web de Trébol.
Permisos requeridos: Tu usuario debe tener los siguientes permisos para gestionar integraciones:
  • integration-configurations:list
  • integration-configurations:create
  • integration-configurations:update
  • integration-configurations:delete
Si no tienes estos permisos, contacta al administrador de tu cuenta para que te los asigne.
1

Accede a la página de integraciones

Ingresa a app.gotrebol.com/settings/integrations con un usuario que tenga los permisos necesarios.
2

Crea una nueva integración

  1. Haz clic en Nueva integración
  2. Selecciona Splunk como tipo de integración
  3. Completa los campos requeridos:
    • HEC URL: La URL de tu HTTP Event Collector (ej: https://http-inputs-acme.splunkcloud.com:443/services/collector/event)
    • HEC Token: El token que generaste en Splunk
  4. Configura el filtro de eventos según tus necesidades
  5. Guarda la configuración

Filtrado de eventos

Puedes configurar qué eventos deseas recibir:

Recibir todos los eventos

Selecciona la opción “Todos los eventos” para recibir todos los eventos de auditoría.

Recibir solo eventos específicos

Selecciona la opción “Eventos específicos” y elige los eventos que deseas recibir, por ejemplo:
  • users.sign_in
  • users.sign_in_failed
  • security.account_blocked
  • verifications.update
  • apikeys.create
  • apikeys.delete
Te recomendamos empezar recibiendo todos los eventos y luego filtrar según tus necesidades de monitoreo y alertas.

Gestionar la integración

Desde la página de integraciones en app.gotrebol.com/settings/integrations puedes:
  • Ver integraciones: Consulta todas las integraciones configuradas en tu cuenta
  • Editar integración: Modifica la URL, token o filtro de eventos de una integración existente
  • Eliminar integración: Elimina una integración que ya no necesites

Formato de eventos en Splunk

Los eventos llegan a Splunk con el siguiente formato:
{
  "event": {
    "source": "trebol",
    "event_id": "550e8400-e29b-41d4-a716-446655440000",
    "event_name": "users.sign_in",
    "event_source": "auth0",
    "timestamp": "2026-01-12T10:30:00.000Z",
    "account_id": "account-123",
    "user_id": "user-456",
    "data": {
      "email": "[email protected]",
      "ip": "192.168.1.1",
      "user_agent": "Mozilla/5.0...",
      "description": "Login successful"
    }
  }
}
El campo source en el payload de Splunk (siempre "trebol") es un campo de metadatos específico de Splunk. Este es diferente al campo event_source dentro del evento, que indica el origen real del evento (b-v o auth0).

Búsquedas útiles en Splunk

index=trebol source=trebol event_name="users.sign_in_failed"
| stats count by data.email, data.ip
| sort -count
index=trebol source=trebol | stats count by event_name, data.email |
sort -count ```
</Accordion>

<Accordion title="Creación de API Keys">
```spl index=trebol source=trebol event_name="apikeys.create" | table
timestamp, data.email, data.ip ```
</Accordion>

<Accordion title="Eventos de verificaciones">
```spl index=trebol source=trebol event_name="verifications.*" | timechart
count by event_name ```
</Accordion>

<Accordion title="Eventos de seguridad">
  ```spl
  index=trebol source=trebol event_name IN ("security.account_blocked", "security.mfa_rate_limited", "security.suspicious_login_blocked", "security.password_leak_detected")
  | stats count by event_name, data.email, data.ip
  | sort -count

Reintentos y manejo de errores

El Log Stream implementa un sistema de reintentos automáticos para garantizar la entrega de eventos:
  • Reintentos: 3 intentos con backoff exponencial
  • Delay inicial: 1 segundo
  • Delay máximo: 10 segundos
  • Multiplicador: 2x
  • Timeout por request: 30 segundos
Si tu endpoint de Splunk no está disponible por un período prolongado, los eventos pueden perderse. Asegúrate de que tu instancia de Splunk tenga alta disponibilidad.

Mejores prácticas

Seguridad

  • Rota el token HEC periódicamente: Actualiza el token en Splunk y luego en la configuración de Trébol
  • Usa HTTPS: Siempre configura la URL del HEC con HTTPS
  • Limita el acceso al índice: Configura permisos apropiados en Splunk para el índice de eventos de Trébol

Monitoreo

  • Configura alertas para eventos críticos: Crea alertas en Splunk para users.sign_in_failed repetidos o apikeys.delete
  • Revisa periódicamente los logs: Monitorea patrones inusuales de actividad
  • Valida la integridad del flujo: Verifica que los eventos lleguen correctamente a Splunk después de configurar la integración

Filtrado de eventos

  • Empieza con todos los eventos: Usa mode: "*" inicialmente para entender el volumen y tipos de eventos
  • Filtra según necesidades: Una vez que entiendas los patrones, filtra solo los eventos relevantes para reducir costos de almacenamiento
  • Incluye siempre eventos de seguridad: Mantén al menos los eventos de autenticación (users.sign_in, users.sign_in_failed) para auditoría de seguridad