Ejecute su búsqueda a través de la API de trabajos de búsqueda de Sumo Logic: cree un trabajo, espere hasta que haya recopilado todos los resultados, luego navegue por los mensajes. Cada mensaje lleva la línea de registro original en _raw. La pestaña de Mensajes en la interfaz de usuario también puede exportar resultados, pero no en un formato que LogTotal lea hoy.
Sumo Logic es una plataforma SIEM en la nube común y una plataforma de registros, y un lugar natural para extraer un segmento de investigación. Prime Core tiene 23,391 reglas de detección para Sumo Logic, mapeadas a 664 técnicas de MITRE ATT&CK. A continuación se muestra cómo obtener registros en bruto, desinfectarlos e investigarlos de forma gratuita en LogTotal.
Antes de empezar
Una clave de acceso. Cree un ID de acceso y una clave en Sumo Logic. La clave actúa con los permisos de su rol, por lo que el rol necesita poder ejecutar búsquedas en los datos que desea.
El endpoint correcto de API. Sumo Logic ejecuta varios despliegues, y cada uno tiene su propio host de API: api.sumologic.com para US1, api.us2.sumologic.com, api.eu.sumologic.com y así sucesivamente. Empareje con la URL que usa para iniciar sesión. Un despliegue equivocado le da un 401 que parece una clave incorrecta.
Cookies. La API de trabajos de búsqueda necesita que se mantengan las cookies entre llamadas, porque un trabajo reside en un nodo específico del backend. Sin un contenedor de cookies, las llamadas de seguimiento pueden no encontrar el trabajo.
Límites. Un trabajo devuelve un número limitado de mensajes, y cada página puede contener hasta 10,000. Mantenga ajustadas las ventanas de tiempo.
Exportar con la API de trabajos de búsqueda
API="https://api.sumologic.com/api/v1"
AUTH="$SUMO_ACCESS_ID:$SUMO_ACCESS_KEY"
JAR=$(mktemp)
# 1. crear el trabajo de búsqueda
JOB=$(curl -sS -u "$AUTH" -c "$JAR" -b "$JAR" -H 'Content-Type: application/json'
-X POST "$API/search/jobs" -d '{
"query": "_sourceCategory=linux/secure _sourceHost=web-03",
"from": "2026-10-19T00:00:00", "to": "2026-10-20T00:00:00",
"timeZone": "UTC"
}' | jq -r '.id')
# 2. espere hasta que se recopilen todos los resultados
until curl -sS -u "$AUTH" -c "$JAR" -b "$JAR" "$API/search/jobs/$JOB"
| jq -e '.state == "DONE GATHERING RESULTS"' >/dev/null; do sleep 5; done
# 3. pase por las páginas de mensajes, manteniendo las líneas en bruto
COUNT=$(curl -sS -u "$AUTH" -c "$JAR" -b "$JAR" "$API/search/jobs/$JOB" | jq '.messageCount')
for ((off=0; off<COUNT; off+=10000)); do
curl -sS -u "$AUTH" -c "$JAR" -b "$JAR" "$API/search/jobs/$JOB/messages?offset=$off&limit=10000"
| jq -r '.messages[].map._raw'
done > web-03_sumo_1019.log
# 4. limpiar
curl -sS -u "$AUTH" -c "$JAR" -b "$JAR" -X DELETE "$API/search/jobs/$JOB" >/dev/null
Mantenga la consulta en un filtro simple. Las consultas con operadores de agregación devuelven registros, no mensajes, y los registros no llevan _raw. Para la salida estructurada, escriba jq -c ‘.messages[].map’ en su lugar, lo que proporciona un objeto JSON por línea con todos los campos.
Si un trabajo es cancelado, el bucle de espera nunca termina. Agregue una verificación para CANCELLED si automiza esto para uso regular.
Subir, desinfectar y revisar en LogTotal
- Subir. Abrir logtotal.com y suelte el archivo.
- Desinfectar.
- Revisar.
Cuando algo sale mal
| Síntoma | Causa probable | Fix |
|---|---|---|
| 401 No autorizado | Punto de acceso de despliegue incorrecto o clave incorrecta | Empareje el host del API con su URL de inicio de sesión |
| Trabajo «no encontrado» en llamadas de seguimiento | Cookies no mantenidas entre llamadas | Use un contenedor de cookies (-c / -b) |
| _raw está vacío | La consulta agrega | Use una consulta de filtro simple |
| Menos mensajes de los esperados | Límite por trabajo | Divida la ventana de tiempo |
| 429 Demasiadas solicitudes | Límite de tasa de API | Reduzca la velocidad; menos trabajos en paralelo |
FAQ
¿Qué pasa con las señales y las ideas de Sumo Logic Cloud SIEM?
Esas son detecciones, no registros. Para LogTotal, exporte los mensajes de registro detrás de ellos.
¿Puedo buscar por tiempo de recepción en lugar de tiempo de mensaje?
Sí, con «byReceiptTime»: true en el cuerpo del trabajo. Eso ayuda cuando las fuentes envían tarde o con relojes incorrectos.