Wazuh mantiene sus datos en dos lugares. En el gestor Wazuh, las alertas se escriben en /var/ossec/logs/alerts/alerts.json, un objeto JSON por línea, y se rotan diariamente en archivos comprimidos por fecha. Las mismas alertas se indexan en el indexador de Wazuh (OpenSearch), en wazuh-alerts-4.x-*. De cualquier manera, la línea de registro original que desencadenó una alerta está en full_log. Para exportar todos los eventos, no solo los que coincidieron con una regla, el gestor debe tener activado el archivo.
Wazuh es el SIEM y XDR de código abierto más utilizado, y sus datos son fáciles de obtener una vez que sabes dónde buscar. Prime Core tiene 23,542 reglas de detección para Wazuh, asignadas a 671 técnicas de MITRE ATT&CK. A continuación, se explica cómo exportar alertas y eventos, saneándolos e investigándolos gratis en LogTotal.
Antes de empezar
¿Alertas o archivos? Las alertas son los eventos que coincidieron con una regla de Wazuh por encima del umbral de nivel de alerta. Los archivos contienen todo lo que el gestor recibió, pero solo si logall_json está habilitado en ossec.conf. Si la pregunta es “¿qué más sucedió en ese host?”, necesitas archivos, y solo existen desde el momento en que se activaron.
Permisos. En el gestor, los archivos son propiedad del usuario y grupo wazuh, por lo que usa sudo. Para el indexador, necesitas un usuario con acceso de lectura a los índices de alertas.
Retención. Los archivos rotados del gestor permanecen hasta que alguien los elimina. El indexador retiene lo que su política de ciclo de vida de índices permite.
Opción 1: Archivos en el gestor
# alertas de hoy hasta ahora
sudo cp /var/ossec/logs/alerts/alerts.json ./wazuh_alerts_today.jsonl
# un día pasado (rotado y comprimido)
sudo zcat /var/ossec/logs/alerts/2026/Oct/ossec-alerts-19.json.gz > wazuh_alerts_1019.jsonl
# solo un agente
jq -c 'select(.agent.name == "web-03")' wazuh_alerts_1019.jsonl > web-03_alerts_1019.jsonl
# las líneas de registro originales detrás de las alertas
jq -r '.full_log // empty' web-03_alerts_1019.jsonl > web-03_raw_1019.log
Con el archivado habilitado, el mismo patrón funciona para /var/ossec/logs/archives/archives.json y sus archivos rotados bajo /var/ossec/logs/archives/<year>/<month>/.
Opción 2: El indexador de Wazuh
El indexador es OpenSearch, por lo que sigue aplicando tal como está escrito. Apúntalo a wazuh-alerts-* y filtra por agent.name y timestamp:
query = {"query": {"bool": {"filter": [
{"term": {"agent.name": "web-03"}},
{"range": {"timestamp": {"gte": "2026-10-19T00:00:00Z", "lt": "2026-10-20T00:00:00Z"}}},
]}}}
El panel de control de Wazuh también puede generar informes, pero no en un formato que LogTotal lea hoy.
Subir, sanear y revisar en LogTotal
- Subir. Abrir logtotal.com y soltar el archivo: el JSON de alertas, o las líneas en bruto de full_log.
- Sanear.
- Revisar.
Cuando algo sale mal
| Síntoma | Causa probable | Fix |
|---|---|---|
| Permiso denegado en el gestor | Los archivos pertenecen al usuario wazuh | Usa sudo |
| archives.json vacío o ausente | logall_json no está habilitado | Actívalo para el futuro; usa alertas para el pasado |
| No hay archivo para un día pasado | Ruta de rotación diferente o nombrado | Lista /var/ossec/logs/alerts/<year>/<month>/ |
| Algunas alertas no tienen full_log | No todas las alertas provienen de una línea de registro (verificaciones de integridad, detección de vulnerabilidades) | Subir el JSON de alerta en su lugar |
| El indexador devuelve 403 | El usuario no tiene acceso de lectura a wazuh-alerts-* | Concede lectura en los índices de alerta |
FAQ
¿Puedo usar la API de Wazuh para exportar alertas?
La API del servidor Wazuh es para gestionar agentes y configuraciones, no para buscar alertas. Usa los archivos o el indexador.
¿Líneas en bruto o JSON de alertas?
Líneas en bruto (full_log) cuando deseas que LogTotal ejecute sus propias detecciones en los registros originales. JSON de alertas cuando también deseas las coincidencias de reglas de Wazuh en el archivo.