1. Introducción a SPL¶
SPL (Search Processing Language) es el lenguaje de búsqueda de Splunk. Se utiliza para localizar eventos, filtrar resultados, transformar campos, calcular estadísticas y presentar información útil para operaciones, seguridad y análisis.
SPL no modifica los eventos almacenados. Una búsqueda lee los datos accesibles para el usuario y construye un resultado temporal. Por eso es apropiado para investigar una incidencia sin alterar la fuente original.
Si tienes Splunk Enterprise instalado y permisos de administrador, debes aprender SPL como una herramienta operativa, no solo como una sintaxis. Una consulta debe ayudarte a responder una pregunta concreta y a comprobar que el resultado es fiable.
Qué problema resuelve SPL¶
Los eventos suelen llegar como registros individuales: una petición HTTP, un error de aplicación, un inicio de sesión o un cambio de configuración. SPL permite pasar de esos eventos a una conclusión:
Por ejemplo, ante un aumento de errores web puedes:
- Confirmar que existen eventos en el índice correcto.
- Limitar la búsqueda al intervalo en el que apareció el problema.
- Filtrar las respuestas HTTP de error.
- Contar los errores por host o por URI.
- Comparar el resultado con el comportamiento habitual.
Anatomía de una búsqueda¶
Una búsqueda SPL se ejecuta de izquierda a derecha. El carácter | enlaza
comandos: la salida de un comando se convierte en la entrada del siguiente.
En este ejemplo:
index=cursolimita la búsqueda al índice del laboratorio.status>=400conserva las respuestas HTTP de error.statsagrupa y cuenta los eventos.sort - erroresordena de mayor a menor.head 10muestra solo los diez primeros resultados.
La primera parte de la búsqueda suele ser una búsqueda base. Los comandos posteriores transforman sus resultados:
En búsquedas sencillas, index=curso method=GET suele ser preferible a
empezar con search, porque deja el filtro principal visible desde el inicio.
Primer flujo de trabajo¶
Antes de escribir una consulta compleja, sigue esta secuencia:
1. Confirma el índice y el intervalo temporal¶
Empieza indicando el índice y un intervalo que contenga los datos. Si el selector temporal de Splunk Web está fuera de la fecha de los eventos, una búsqueda correcta devolverá cero resultados.
Para una primera comprobación también puedes usar el selector Todo el tiempo de Splunk Web, pero en consultas compartidas conviene especificar el tiempo en SPL o documentar el rango utilizado.
2. Comprueba que existen eventos¶
Revisa _time, host, source, sourcetype e index. Estos metadatos suelen
explicar rápidamente si el problema está en la ingesta, en el índice o en la
consulta.
3. Comprueba el volumen y la distribución¶
Si no aparecen resultados, no empieces todavía a añadir eval, expresiones
regulares o visualizaciones. Revisa primero la fuente, el índice, el rango
temporal y los permisos de lectura.
4. Formula una pregunta concreta¶
Una buena búsqueda comienza por una pregunta operativa:
- ¿Cuántos eventos han llegado?
- ¿Qué hosts generan más errores?
- ¿Qué URI responde con más códigos
404? - ¿Qué porcentaje de peticiones devuelve un error?
La pregunta determina si necesitas eventos individuales (table), grupos
(stats) o una serie temporal (timechart).
Consultas prácticas del laboratorio¶
El archivo eventos_web.csv contiene los campos timestamp, host, method,
status y uri. Después de cargarlo en el índice curso, puedes practicar
con estas consultas.
Ver eventos recientes¶
Resumir códigos HTTP¶
Encontrar las URI con más errores¶
Comparar el tráfico en el tiempo¶
Si un campo no se extrae como esperas, inspecciona primero un evento real y
comprueba el sourcetype. No asumas que el nombre de la columna del CSV se ha
convertido automáticamente en un campo usable: la extracción depende de la
configuración de la entrada y del tipo de datos.
Qué significa tener permisos de administrador¶
El rol de administrador facilita la configuración de índices, entradas, usuarios y aplicaciones, pero no elimina la necesidad de validar el contexto de la búsqueda. Antes de diagnosticar un resultado inesperado, comprueba:
- que estás en la instancia y aplicación correctas;
- que la cuenta puede buscar en el índice
curso; - que el índice y la entrada apuntan al mismo entorno;
- que el rango temporal incluye la fecha real de los eventos;
- que la búsqueda no está ocultando resultados mediante un filtro;
- que el usuario no está limitado por una búsqueda restringida o por su rol.
Para revisar la configuración desde Splunk Web, utiliza Settings > Indexes y Settings > Data inputs. Para la operación diaria, evita conceder permisos administrativos a todos los usuarios: el acceso de búsqueda y la capacidad de configuración son responsabilidades distintas.
Buenas prácticas desde el primer día¶
- Especifica siempre el índice en las búsquedas del curso.
- Limita el intervalo temporal antes de analizar grandes volúmenes.
- Empieza con una búsqueda mínima y añade un comando cada vez.
- Usa nombres descriptivos con
as, comoerroresopeticiones. - Comprueba el resultado de cada etapa antes de continuar.
- Evita
index=*en búsquedas habituales: puede incluir datos irrelevantes y aumentar el coste de búsqueda. - Guarda la consulta junto con el índice, el intervalo temporal y el objetivo.
- No confundas cero resultados con ausencia de datos: verifica también los
permisos, el
sourcetype,_timey la fuente.
Relación con el resto de la sesión¶
Este documento presenta el modelo general. Para profundizar, continúa con:
- Búsquedas básicas
- Gestión del tiempo
- Campos y resultados
- Filtrado de eventos
- Estadísticas
- Eval y funciones
- Extracción de campos
- Comandos avanzados
- Rendimiento