Requisitos¶
Este curso utiliza una instancia local de Splunk Enterprise 10.4.3 sobre Ubuntu 24.04.5 LTS.
La instancia puede estar instalada previamente. En ese caso, no es necesario repetir la instalación: antes de comenzar se debe comprobar que el servicio, Splunk Web, el acceso administrativo y el índice de laboratorio funcionan correctamente.
El curso se desarrolla sobre una arquitectura mononodo:
Ubuntu
└── Splunk Enterprise
├── splunkd
├── Splunk Web
├── índice curso
├── búsquedas SPL
├── dashboards
└── alertas
1. Requisitos mínimos para participar¶
Antes de comenzar, el asistente debe disponer de:
- una máquina física o virtual con Ubuntu;
- Splunk Enterprise instalado;
- acceso a Splunk Web;
- un usuario con rol
admindentro de Splunk; - acceso a una terminal de Ubuntu;
- el dataset de laboratorio;
- espacio suficiente para los datos;
- un navegador web actualizado;
- permisos
sudo, si se van a realizar comprobaciones del sistema; - conectividad local con el puerto de Splunk Web.
1.1 Si Splunk ya está instalado¶
En ese caso, los requisitos de descarga e instalación del paquete .deb son
opcionales.
La prioridad será validar:
- la versión instalada;
- el estado del servicio;
- la respuesta de Splunk Web;
- el acceso del usuario administrativo;
- la existencia del índice
curso; - la disponibilidad de los datos de laboratorio.
La guía detallada de instalación se encuentra en:
2. Requisitos técnicos recomendados¶
| Recurso | Recomendación |
|---|---|
| Sistema operativo | Ubuntu 24.04.5 LTS |
| Arquitectura | x86_64 o amd64 |
| CPU | 4 núcleos o más |
| Memoria | 16 GB de RAM recomendados |
| Espacio libre | Al menos 20 GB para Splunk y el laboratorio |
| Red | Acceso local a Splunk Web |
| Navegador | Versión actual de Firefox, Chrome, Edge o equivalente |
| Puerto web | 8000, salvo configuración diferente |
| Management port | 8089, salvo configuración diferente |
| Usuario Splunk | Rol admin durante el laboratorio |
| Usuario Ubuntu | sudo para tareas del sistema |
Estas cifras son adecuadas para el laboratorio del curso. No constituyen una recomendación de dimensionamiento para entornos de producción.
En un entorno real habría que analizar también:
- volumen diario de ingesta;
- retención;
- concurrencia de búsquedas;
- almacenamiento;
- rendimiento de disco;
- crecimiento de índices;
- copias de seguridad;
- alta disponibilidad;
- número de usuarios;
- arquitectura distribuida.
3. Arquitectura admitida¶
La práctica puede realizarse en:
- una máquina física;
- una máquina virtual;
- un equipo de laboratorio;
- un servidor Ubuntu accesible por red.
3.1 Máquina virtual¶
Si se utiliza una máquina virtual, asigna recursos suficientes y verifica:
- que Ubuntu tiene acceso a Internet, si se necesita descargar documentación;
- que el disco virtual tiene espacio disponible;
- que la hora del sistema es correcta;
- que el navegador puede acceder al puerto
8000; - que la red permite acceder a la dirección de Splunk;
- que no existe un conflicto con otro servicio que utilice el puerto
8000.
Para trabajar exclusivamente desde la propia máquina virtual:
Si se accede desde otro equipo, utiliza la dirección IP de Ubuntu:
El acceso remoto puede requerir revisar:
- la configuración de red de la máquina virtual;
- el firewall;
- la dirección de escucha;
- las reglas de seguridad de la red.
4. Permisos necesarios¶
El curso utiliza dos tipos de permisos diferentes.
4.1 Permisos dentro de Splunk¶
El usuario con rol admin podrá realizar, según la configuración de la
instancia, actividades como:
- consultar eventos;
- crear o revisar índices;
- configurar entradas;
- guardar búsquedas;
- crear reportes;
- crear dashboards;
- configurar alertas;
- revisar usuarios y roles;
- modificar objetos de conocimiento.
4.2 Permisos en Ubuntu¶
Los comandos del sistema dependen de los permisos del sistema operativo.
Para algunas prácticas puede ser necesario ejecutar:
o:
Tener el rol admin en Splunk no concede automáticamente permisos sudo en
Ubuntu.
| Acción | Permiso necesario |
|---|---|
| Ejecutar búsquedas | Acceso al índice y permisos de búsqueda |
| Crear dashboards | Permisos sobre objetos de conocimiento |
| Crear alertas | Capacidades y permisos de alertas |
Consultar Splunkd |
Permisos del sistema operativo |
| Leer archivos protegidos | Permisos del sistema de archivos |
| Cambiar el firewall | Permisos administrativos de Ubuntu |
| Reiniciar el servicio | Permisos sobre systemd |
Durante el laboratorio se utiliza admin para simplificar la configuración. En
una organización real, los objetos deben probarse también con el rol operativo
que los utilizará.
5. Conocimientos recomendados¶
Conviene tener conocimientos básicos de:
- sistemas operativos Linux;
- procesos y servicios;
- redes y puertos;
- archivos de log;
- monitorización;
- resolución de incidencias;
- línea de comandos;
- permisos de archivos;
- formatos CSV;
- datos estructurados;
- fechas y horas;
- conceptos básicos de HTTP.
No es necesario:
- conocer SPL;
- haber administrado Splunk;
- conocer expresiones regulares;
- haber creado dashboards;
- haber configurado alertas;
- administrar una arquitectura distribuida;
- conocer Splunk Enterprise Security.
Los conceptos se introducen progresivamente y se practican sobre datos preparados.
6. Comprobaciones del sistema operativo¶
Realiza estas comprobaciones desde una terminal de Ubuntu.
6.1 Arquitectura¶
Resultado esperado:
También puedes comprobar la arquitectura de paquetes:
Resultado esperado:
6.2 Versión de Ubuntu¶
Si está disponible:
Alternativa independiente de lsb_release:
Comprueba que el sistema corresponde a Ubuntu 24.04 LTS.
6.3 CPU¶
Para obtener información ampliada:
6.4 Memoria¶
Comprueba que existe memoria suficiente para ejecutar Splunk y el navegador simultáneamente.
6.5 Espacio de disco¶
También es útil revisar el espacio de la ruta donde está instalada la instancia:
Si /opt forma parte de la misma partición raíz, ambas salidas serán similares.
6.6 Inodos¶
Un disco puede tener espacio libre y, aun así, quedarse sin inodos:
Para el laboratorio, evita trabajar con una partición prácticamente llena.
6.7 Hora del sistema¶
La interpretación temporal es importante en Splunk:
Comprueba:
- fecha;
- hora;
- zona horaria;
- sincronización NTP.
Una hora incorrecta puede afectar a:
- el acceso;
- los certificados;
- las alertas;
- los rangos temporales;
- la interpretación de
_timee_indextime.
7. Comprobaciones de Splunk¶
7.1 Versión instalada¶
La ruta habitual es:
También puede utilizarse:
El resultado debe indicar la versión instalada y el estado del servicio.
7.2 Estado de Splunkd¶
Si la instalación utiliza systemd:
También puedes consultar directamente el estado de Splunk:
El nombre exacto de la unidad puede variar según la configuración. Si
Splunkd no existe como unidad, utiliza el comando propio de Splunk.
7.3 Proceso activo¶
Esta comprobación permite confirmar si el proceso principal está ejecutándose.
7.4 Puertos¶
Comprueba los puertos habituales:
| Puerto | Uso habitual |
|---|---|
8000 |
Splunk Web |
8089 |
Management port y API REST |
9997 |
Recepción desde forwarders |
8088 |
HTTP Event Collector, si está configurado |
Los puertos pueden ser diferentes si la instancia se ha personalizado.
7.5 Respuesta de Splunk Web¶
Desde la propia máquina:
También puedes probar:
La respuesta puede ser una redirección o una respuesta HTTP válida. Lo importante es que exista un servicio respondiendo en el puerto.
Accede después desde el navegador:
8. Comprobación del acceso administrativo¶
Inicia sesión en Splunk Web con el usuario administrativo y ejecuta:
Esta búsqueda permite comprobar el usuario y sus roles actuales.
También puedes revisar las capacidades del usuario desde:
El nombre de los menús puede variar ligeramente según la versión y la configuración de Splunk Web.
8.1 Comprobación funcional¶
Ejecuta:
| makeresults
| eval usuario="usuario de laboratorio"
| eval estado="búsqueda ejecutada correctamente"
Resultado esperado:
- la búsqueda finaliza;
- aparece una fila;
- el usuario puede consultar el buscador;
- no se muestra un error de permisos.
9. Comprobación del índice de laboratorio¶
El curso utiliza principalmente el índice:
9.1 Comprobar que existe¶
| rest /services/data/indexes
| search title=curso
| table title disabled totalEventCount currentDBSizeMB
9.2 Comprobar eventos¶
index=curso earliest=0 latest=now
| stats
count as total_eventos
earliest(_time) as primer_evento
latest(_time) as ultimo_evento
9.3 Revisar los campos¶
9.4 Revisar metadatos¶
9.5 Revisar eventos individuales¶
index=curso earliest=0 latest=now
| table
_time
_indextime
host
source
sourcetype
method
status
uri
_raw
| head 20
El asistente debe conocer:
- cuántos eventos existen;
- cuándo se produjeron;
- cuándo se indexaron;
- qué
sourcetienen; - qué
sourcetypetienen; - qué
hosttienen; - qué campos están disponibles.
10. Rango temporal del dataset¶
El dataset de laboratorio puede contener eventos históricos. Por ello, la búsqueda siguiente puede no mostrar resultados si los eventos no pertenecen a las últimas 24 horas:
Durante la validación inicial utiliza:
Después identifica el intervalo real:
index=curso earliest=0 latest=now
| stats
earliest(_time) as primer_evento
latest(_time) as ultimo_evento
La diferencia entre _time e _indextime es importante:
_time: momento asignado al evento;_indextime: momento en que Splunk lo indexó.
Una carga realizada hoy puede contener eventos generados en una fecha anterior.
11. Material del curso¶
El asistente debe tener disponible:
- documentación del curso;
- acceso a la terminal de Ubuntu;
- navegador web;
- dataset
eventos_web.csv; - archivos adicionales de laboratorio;
- credenciales administrativas de Splunk;
- acceso al índice
curso; - documentación oficial de Splunk;
- espacio para guardar consultas y evidencias.
El dataset puede encontrarse en:
o en la ruta definida por la configuración del laboratorio.
Antes de ingerirlo, verifica su contenido:
Comprueba:
- cabecera;
- separador;
- número de columnas;
- formato de fecha;
- nombres de campos;
- ausencia de credenciales o datos sensibles.
12. Validación de los archivos de laboratorio¶
Antes de cargar un archivo:
Si el archivo contiene una cabecera CSV, confirma que los nombres coinciden con los que utilizarás en las búsquedas:
No asumas que existen campos opcionales como:
Comprueba primero los campos indexados:
Si un campo no existe, documenta la limitación en lugar de construir una métrica sobre datos que no están disponibles.
13. Requisitos de conectividad¶
Para el laboratorio local se necesita, como mínimo, conectividad con:
Si se accede desde otro equipo:
Para descargar el paquete o consultar documentación se necesita salida a Internet. Si Splunk ya está instalado y los materiales se encuentran disponibles localmente, la conexión a Internet no es imprescindible para todas las prácticas.
13.1 Comprobaciones básicas¶
Para probar resolución de nombres:
El comando ping puede estar bloqueado por la red y no siempre demuestra que
HTTP funcione. Para Splunk Web es más representativo utilizar:
14. Descarga del instalador¶
Si fuera necesario instalar o reinstalar Splunk Enterprise, utiliza únicamente fuentes oficiales:
Descarga directa del instalador para Debian / Ubuntu
Comprueba que la URL corresponde a la versión y arquitectura correctas.
El acceso al instalador puede requerir:
- una cuenta de Splunk;
- aceptación de los términos correspondientes;
- una licencia o modalidad de evaluación;
- acceso al portal de descargas.
Las condiciones de evaluación, disponibilidad de versiones y requisitos de descarga pueden cambiar. Comprueba siempre la información vigente en el portal oficial.
Para un paquete .deb descargado localmente:
Comprueba la arquitectura del paquete:
La arquitectura debe ser compatible con el sistema, normalmente:
No es necesario reinstalar Splunk si la versión ya está instalada y supera las comprobaciones del curso.
15. Criterios de aceptación antes de la primera sesión¶
La máquina está preparada cuando se cumplen estos puntos:
Sistema¶
- Ubuntu corresponde a la versión prevista.
- La arquitectura es compatible.
- Hay al menos 4 núcleos disponibles.
- Existe memoria suficiente.
- Hay espacio libre suficiente.
- La fecha y la zona horaria son correctas.
Splunk¶
- Splunk Enterprise está instalado.
- La versión está documentada.
-
splunkdestá activo. - Splunk Web responde.
- El puerto
8000está disponible. - El usuario puede iniciar sesión.
- El usuario tiene el rol
admin.
Datos¶
- El índice
cursoexiste. - El dataset está disponible.
- Los eventos se pueden consultar.
- El rango temporal se ha identificado.
-
_rawcontiene datos válidos. - Los campos principales se han comprobado.
- No se han producido duplicados durante la carga.
Laboratorio¶
- El navegador funciona.
- La terminal está disponible.
- Se puede utilizar
sudo, si es necesario. - El asistente puede guardar evidencias.
- Las guías del curso son accesibles.
16. Diagnóstico rápido¶
Splunk Web no responde¶
Comprueba:
Consulta:
No aparecen eventos¶
Ejecuta:
Después comprueba:
Consulta:
Los campos no son correctos¶
Revisa:
Y:
Consulta:
El servicio no inicia¶
Consulta:
Recuerda que un problema de servicio, un problema de red, un problema de permisos y un problema de datos son situaciones diferentes. Diagnostícalas por separado.
17. Referencias del curso¶
- Instalación de Splunk
- Preparación del laboratorio
- Arquitectura y componentes
- Datos del laboratorio
- Ingesta de datos
- Gestión de índices
- Gestión del tiempo
- Campos y resultados
- Troubleshooting
18. Referencias oficiales¶
Splunk Enterprise¶
- Documentación de Splunk Enterprise
- Splunk Enterprise Help
- Página oficial de descarga
- Notas de versión
Datos e índices¶
- Cómo procesa Splunk los datos
- Introducción a las fuentes de datos
- Monitorización de archivos y directorios
- Índices
inputs.confindexes.confprops.conf