Splunk - Guía rápida

Splunk es un software que procesa y aporta información a partir de datos de máquinas y otras formas de big data. Estos datos de la máquina son generados por la CPU que ejecuta un servidor web, dispositivos IOT, registros de aplicaciones móviles, etc. No es necesario proporcionar estos datos a los usuarios finales y no tiene ningún significado comercial. Sin embargo, son extremadamente importantes para comprender, monitorear y optimizar el rendimiento de las máquinas.

Splunk puede leer estos datos no estructurados, semiestructurados o raramente estructurados. Después de leer los datos, permite buscar, etiquetar, crear informes y cuadros de mando sobre estos datos. Con la llegada del big data, Splunk ahora puede ingerir big data de varias fuentes, que pueden o no ser datos de máquina y ejecutar análisis en big data.

Por lo tanto, a partir de una herramienta simple para el análisis de registros, Splunk ha recorrido un largo camino para convertirse en una herramienta analítica general para datos de máquina no estructurados y varias formas de big data.

Categorías de Producto

Splunk está disponible en tres categorías de productos diferentes de la siguiente manera:

  • Splunk Enterprise- Es utilizado por empresas que tienen una gran infraestructura de TI y negocios impulsados ​​por TI. Ayuda a recopilar y analizar los datos de sitios web, aplicaciones, dispositivos y sensores, etc.

  • Splunk Cloud- Es la plataforma alojada en la nube con las mismas características que la versión empresarial. Se puede utilizar desde Splunk o a través de la plataforma en la nube de AWS.

  • Splunk Light- Permite buscar, informar y alertar sobre todos los datos de registro en tiempo real desde un solo lugar. Tiene funcionalidades y características limitadas en comparación con las otras dos versiones.

Funciones de Splunk

En esta sección, discutiremos las características importantes de la edición empresarial:

Ingestión de datos

Splunk puede ingerir una variedad de formatos de datos como JSON, XML y datos de máquina no estructurados como registros web y de aplicaciones. Los datos no estructurados se pueden modelar en una estructura de datos según lo necesite el usuario.

Indexación de datos

Splunk indexa los datos ingeridos para realizar búsquedas y consultas más rápidas en diferentes condiciones.

Búsqueda de datos

La búsqueda en Splunk implica utilizar los datos indexados con el fin de crear métricas, predecir tendencias futuras e identificar patrones en los datos.

Usar alertas

Las alertas de Splunk se pueden usar para activar correos electrónicos o fuentes RSS cuando se encuentran algunos criterios específicos en los datos que se analizan.

Cuadros de mando

Los paneles de Splunk pueden mostrar los resultados de la búsqueda en forma de gráficos, informes y pivotes, etc.

Modelo de datos

Los datos indexados se pueden modelar en uno o más conjuntos de datos basados ​​en conocimientos de dominio especializados. Esto conduce a una navegación más fácil por parte de los usuarios finales que analizan los casos de negocios sin aprender los aspectos técnicos del lenguaje de procesamiento de búsqueda utilizado por Splunk.

En este tutorial, nuestro objetivo es instalar la versión empresarial. Esta versión está disponible para una evaluación gratuita durante 60 días con todas las funciones habilitadas. Puede descargar la configuración utilizando el enlace a continuación que está disponible para plataformas Windows y Linux.

https://www.splunk.com/en_us/download/splunk-enterprise.html.

Versión de Linux

La versión de Linux se descarga desde el enlace de descarga que se proporciona arriba. Elegimos el tipo de paquete .deb ya que la instalación se realizará en una plataforma Ubuntu.

Aprenderemos esto con un enfoque paso a paso:

Paso 1

Descargue el paquete .deb como se muestra en la captura de pantalla a continuación:

Paso 2

Vaya al directorio de descarga e instale Splunk usando el paquete descargado anterior.

Paso 3

A continuación, puede iniciar Splunk utilizando el siguiente comando con el argumento aceptar licencia. Le pedirá el nombre de usuario y la contraseña de administrador que debe proporcionar y recordar.

Etapa 4

El servidor de Splunk se inicia y menciona la URL donde se puede acceder a la interfaz de Splunk.

Paso 5

Ahora, puede acceder a la URL de Splunk e ingresar el ID de usuario administrador y la contraseña que creó en el paso 3.

Versión de Windows

La versión de Windows está disponible como un instalador de msi como se muestra en la siguiente imagen:

Al hacer doble clic en el instalador de msi, se instala la versión de Windows en un proceso sencillo. Los dos pasos importantes en los que debemos tomar la decisión correcta para una instalación exitosa son los siguientes.

Paso 1

Como lo estamos instalando en un sistema local, elija la opción de sistema local como se indica a continuación:

Paso 2

Introduce la contraseña del administrador y recuérdala, ya que se utilizará en las configuraciones futuras.

Paso 3

En el paso final, vemos que Splunk se instaló correctamente y se puede iniciar desde el navegador web.

Etapa 4

A continuación, abra el navegador e ingrese la URL dada, http://localhost:8000e inicie sesión en Splunk con el ID de usuario administrador y la contraseña.

La interfaz web de Splunk consta de todas las herramientas que necesita para buscar, informar y analizar los datos que se ingieren. La misma interfaz web proporciona funciones para administrar a los usuarios y sus roles. También proporciona enlaces para la ingestión de datos y las aplicaciones integradas disponibles en Splunk.

La siguiente imagen muestra la pantalla inicial después de iniciar sesión en Splunk con las credenciales de administrador.

Enlace de administrador

El menú desplegable Administrador ofrece la opción de configurar y editar los detalles del administrador. Podemos restablecer el ID de correo electrónico del administrador y la contraseña usando la siguiente pantalla:

Además del enlace del administrador, también podemos navegar a la opción de preferencias donde podemos configurar la zona horaria y la aplicación de inicio en la que se abrirá la página de destino después de su inicio de sesión. Actualmente, se abrió en la página de inicio como se muestra a continuación:

Enlace de configuración

Este es un enlace que muestra todas las funciones principales disponibles en Splunk. Por ejemplo, puede agregar los archivos de búsqueda y las definiciones de búsqueda eligiendo el enlace de búsqueda.

Discutiremos las configuraciones importantes de estos enlaces en los capítulos siguientes.

Enlace de búsqueda e informes

El enlace de búsqueda e informes nos lleva a las funciones donde podemos encontrar los conjuntos de datos que están disponibles para buscar los informes y alertas creados para estas búsquedas. Se muestra claramente en la siguiente captura de pantalla:

La ingestión de datos en Splunk se realiza a través del Add Datafunción que forma parte de la aplicación de búsqueda e informes. Después de iniciar sesión, la pantalla de inicio de la interfaz de Splunk muestra laAdd Data icono como se muestra a continuación.

Al hacer clic en este botón, se nos presenta la pantalla para seleccionar la fuente y el formato de los datos que planeamos enviar a Splunk para su análisis.

Recopilación de datos

Podemos obtener los datos para su análisis en el sitio web oficial de Splunk. Guarde este archivo y descomprímalo en su unidad local. Al abrir la carpeta, puede encontrar tres archivos que tienen diferentes formatos. Son los datos de registro generados por algunas aplicaciones web. También podemos recopilar otro conjunto de datos proporcionados por Splunk que está disponible en la página web oficial de Splunk.

Usaremos datos de estos dos conjuntos para comprender el funcionamiento de varias funciones de Splunk.

Subiendo datos

A continuación, elegimos el archivo, secure.log de la carpeta, mailsvque hemos guardado en nuestro sistema local como se menciona en el párrafo anterior. Después de seleccionar el archivo, pasamos al siguiente paso usando el botón siguiente de color verde en la esquina superior derecha.

Seleccionar el tipo de fuente

Splunk tiene una función incorporada para detectar el tipo de datos que se ingieren. También le da al usuario la opción de elegir un tipo de datos diferente al elegido por Splunk. Al hacer clic en el menú desplegable de tipo de fuente, podemos ver varios tipos de datos que Splunk puede ingerir y habilitar para la búsqueda.

En el ejemplo actual que se muestra a continuación, elegimos el tipo de fuente predeterminado.

Ajustes de entrada

En este paso de la ingestión de datos, configuramos el nombre de host desde el que se ingieren los datos. A continuación se muestran las opciones para elegir, para el nombre de host:

Valor constante

Es el nombre completo del host donde residen los datos de origen.

regex en el camino

Cuando desee extraer el nombre de host con una expresión regular. Luego ingrese la expresión regular del host que desea extraer en el campo Expresión regular.

segmento en camino

Cuando desee extraer el nombre de host de un segmento en la ruta de su fuente de datos, ingrese el número de segmento en el campo Número de segmento. Por ejemplo, si la ruta al origen es / var / log / y desea que el tercer segmento (el nombre del servidor host) sea el valor del host, ingrese "3".

A continuación, elegimos el tipo de índice que se creará en los datos de entrada para la búsqueda. Elegimos la estrategia de índice predeterminada. El índice de resumen solo crea un resumen de los datos a través de la agregación y crea un índice en él, mientras que el índice de historial es para almacenar el historial de búsqueda. Está claramente representado en la imagen a continuación:

Revisar configuración

Después de hacer clic en el botón siguiente, vemos un resumen de la configuración que hemos elegido. Lo revisamos y elegimos Siguiente para finalizar la carga de datos.

Al finalizar la carga, aparece la siguiente pantalla que muestra la ingesta de datos exitosa y otras posibles acciones que podemos tomar con los datos.

Todos los datos entrantes a Splunk se juzgan primero por su unidad de procesamiento de datos incorporada y se clasifican en ciertos tipos y categorías de datos. Por ejemplo, si se trata de un registro del servidor web apache, Splunk puede reconocerlo y crear los campos adecuados a partir de los datos leídos.

Esta característica en Splunk se llama detección de tipo de fuente y utiliza sus tipos de fuente incorporados que se conocen como tipos de fuente "previamente entrenados" para lograr esto.

Esto facilita el análisis, ya que el usuario no tiene que clasificar manualmente los datos y asignar ningún tipo de datos a los campos de los datos entrantes.

Tipos de fuente admitidos

Los tipos de fuente admitidos en Splunk se pueden ver cargando un archivo a través del Add Datafunción y luego seleccionando el menú desplegable para Tipo de fuente. En la imagen de abajo, hemos subido un archivo CSV y luego hemos verificado todas las opciones disponibles.

Subcategoría del tipo de fuente

Incluso en esas categorías, podemos hacer más clic para ver todas las subcategorías que son compatibles. Entonces, cuando elige la categoría de la base de datos, puede encontrar los diferentes tipos de bases de datos y sus archivos compatibles que Splunk puede reconocer.

Tipos de fuentes previamente entrenados

La siguiente tabla enumera algunos de los tipos de fuentes importantes previamente entrenados que Splunk reconoce:

Nombre del tipo de fuente Naturaleza
access_combined Registros de servidor web http de formato combinado NCSA (pueden ser generados por apache u otros servidores web)
access_combined_wcookie Registros del servidor web http de formato combinado NCSA (pueden ser generados por apache u otros servidores web), con un campo de cookies agregado al final
apache_error Registro de errores del servidor web Apache estándar
linux_messages_syslog Syslog estándar de Linux (/ var / log / messages en la mayoría de las plataformas)
log4j Salida estándar de Log4j producida por cualquier servidor J2EE usando log4j
mysqld_error Registro de errores estándar de mysql

Splunk tiene una funcionalidad de búsqueda sólida que le permite buscar en todo el conjunto de datos que se ingiere. Se accede a esta función a través de la aplicación denominadaSearch & Reporting que se puede ver en la barra lateral izquierda después de iniciar sesión en la interfaz web.

Al hacer clic en el search & Reporting app, se nos presenta un cuadro de búsqueda, donde podemos comenzar nuestra búsqueda en los datos de registro que cargamos en el capítulo anterior.

Escribimos el nombre de host en el formato que se muestra a continuación y hacemos clic en el icono de búsqueda presente en la esquina más a la derecha. Esto nos da el resultado resaltando el término de búsqueda.

Combinar términos de búsqueda

Podemos combinar los términos utilizados para la búsqueda escribiéndolos uno tras otro, pero poniendo las cadenas de búsqueda del usuario entre comillas dobles.

Usando comodín

Podemos usar comodines en nuestra opción de búsqueda combinados con el AND/ORoperadores. En la búsqueda a continuación, obtenemos el resultado donde el archivo de registro tiene los términos que contienen fallos, fallos, fallos, etc., junto con el término contraseña en la misma línea.

Refinando los resultados de la búsqueda

Podemos refinar aún más el resultado de la búsqueda seleccionando una cadena y agregándola a la búsqueda. En el siguiente ejemplo, hacemos clic sobre la cadena3351 y selecciona la opción Add to Search.

Después 3351se agrega al término de búsqueda, obtenemos el siguiente resultado que muestra solo aquellas líneas del registro que contienen 3351 en ellas. También marque cómo ha cambiado la línea de tiempo del resultado de la búsqueda a medida que la hemos refinado.

Cuando Splunk lee los datos de la máquina cargados, interpreta los datos y los divide en muchos campos que representan un solo hecho lógico sobre todo el registro de datos.

Por ejemplo, un único registro de información puede contener el nombre del servidor, la marca de tiempo del evento, el tipo de evento que se registra, ya sea un intento de inicio de sesión o una respuesta http, etc. Incluso en el caso de datos no estructurados, Splunk intenta dividir los campos en valores clave pares o sepárelos en función de los tipos de datos que tengan, numéricos y de cadena, etc.

Continuando con los datos subidos en el capítulo anterior, podemos ver los campos del secure.logarchivo haciendo clic en el enlace mostrar campos que abrirá la siguiente pantalla. Podemos notar los campos que Splunk ha generado a partir de este archivo de registro.

Elegir los campos

Podemos elegir qué campos se mostrarán seleccionando o deseleccionando los campos de la lista de todos los campos. Haciendo clic enall fieldsabre una ventana que muestra la lista de todos los campos. Algunos de estos campos tienen marcas de verificación que muestran que ya están seleccionados. Podemos usar las casillas de verificación para elegir nuestros campos para mostrar.

Además del nombre del campo, muestra el número de valores distintos que tienen los campos, su tipo de datos y en qué porcentaje de eventos está presente este campo.

Campo Resumen

Las estadísticas muy detalladas para cada campo seleccionado están disponibles al hacer clic en el nombre del campo. Muestra todos los valores distintos para el campo, su recuento y sus porcentajes.

Usar campos en la búsqueda

Los nombres de los campos también se pueden insertar en el cuadro de búsqueda junto con los valores específicos para la búsqueda. En el siguiente ejemplo, nuestro objetivo es encontrar todos los registros para la fecha 15 de octubre para el host llamadomailsecure_log. Obtenemos el resultado para esta fecha específica.

La interfaz web de Splunk muestra una línea de tiempo que indica la distribución de eventos en un rango de tiempo. Hay intervalos de tiempo preestablecidos entre los que puede seleccionar un rango de tiempo específico, o puede personalizar el rango de tiempo según sus necesidades.

La siguiente pantalla muestra varias opciones de línea de tiempo preestablecidas. Al elegir cualquiera de estas opciones, se obtendrán los datos solo para ese período de tiempo específico que también puede analizar más a fondo, utilizando las opciones de línea de tiempo personalizadas disponibles.

Por ejemplo, elegir la opción del mes anterior nos da el resultado solo para el mes anterior, ya que puede ver la extensión del gráfico de la línea de tiempo a continuación.

Seleccionar un subconjunto de tiempo

Al hacer clic y arrastrar por las barras en la línea de tiempo, podemos seleccionar un subconjunto del resultado que ya existe. Esto no provoca la re-ejecución de la consulta. Solo filtra los registros del conjunto de resultados existente.

La siguiente imagen muestra la selección de un subconjunto del conjunto de resultados:

Más temprano y más reciente

Los dos comandos, el más antiguo y el más reciente, se pueden utilizar en la barra de búsqueda para indicar el intervalo de tiempo entre el cual filtra los resultados. Es similar a seleccionar el subconjunto de tiempo, pero es a través de comandos en lugar de la opción de hacer clic en una barra de línea de tiempo específica. Por lo tanto, proporciona un control más preciso sobre ese rango de datos que puede elegir para su análisis.

En la imagen de arriba, damos un rango de tiempo entre los últimos 7 días y los últimos 15 días. Entonces, se muestran los datos entre estos dos días.

Eventos cercanos

También podemos encontrar eventos cercanos de un momento específico al mencionar qué tan cerca queremos que se filtren los eventos. Tenemos la opción de elegir la escala del intervalo, como segundos, minutos, días y semana, etc.

Cuando ejecuta una consulta de búsqueda, el resultado se almacena como un trabajo en el servidor de Splunk. Si bien este trabajo fue creado por un usuario específico, se puede compartir con otros usuarios para que puedan comenzar a usar este conjunto de resultados sin la necesidad de volver a generar la consulta. Los resultados también se pueden exportar y guardar como archivos que se pueden compartir con usuarios que no usan Splunk.

Compartir el resultado de la búsqueda

Una vez que una consulta se ha ejecutado correctamente, podemos ver una pequeña flecha hacia arriba en el centro a la derecha de la página web. Al hacer clic en este icono se obtiene una URL donde se puede acceder a la consulta y al resultado. Es necesario otorgar permiso a los usuarios que utilizarán este enlace. El permiso se otorga a través de la interfaz de administración de Splunk.

Encontrar los resultados guardados

Los trabajos que se guardan para que los utilicen todos los usuarios con los permisos adecuados se pueden ubicar buscando el enlace de trabajos en el menú de actividades en la barra superior derecha de la interfaz de Splunk. En la imagen de abajo, hacemos clic en el enlace resaltado llamado trabajos para encontrar los trabajos guardados.

Después de hacer clic en el enlace anterior, obtenemos la lista de todos los trabajos guardados como se muestra a continuación. Él, tenemos que tener en cuenta que hay una publicación de fecha de vencimiento en la que el trabajo guardado se eliminará automáticamente de Splunk. Puede ajustar esta fecha seleccionando el trabajo y haciendo clic en Editar seleccionado y luego eligiendo Extender vencimiento.

Exportar el resultado de la búsqueda

También podemos exportar los resultados de una búsqueda a un archivo. Los tres formatos diferentes disponibles para exportar son: CSV, XML y JSON. Al hacer clic en el botón Exportar después de elegir los formatos, se descarga el archivo desde el navegador local al sistema local. Esto se explica en la siguiente imagen:

El lenguaje de procesamiento de búsqueda de Splunk (SPL) es un lenguaje que contiene muchos comandos, funciones, argumentos, etc., que se escriben para obtener los resultados deseados de los conjuntos de datos. Por ejemplo, cuando obtiene un conjunto de resultados para un término de búsqueda, es posible que desee filtrar algunos términos más específicos del conjunto de resultados. Para ello, necesita agregar algunos comandos adicionales al comando existente. Esto se logra aprendiendo el uso de SPL.

Componentes de SPL

El SPL tiene los siguientes componentes.

  • Search Terms - Estas son las palabras clave o frases que busca.

  • Commands - La acción que desea realizar en el conjunto de resultados, como formatear el resultado o contarlos.

  • Functions- Cuáles son los cálculos que vas a aplicar a los resultados. Como suma, promedio, etc.

  • Clauses - Cómo agrupar o cambiar el nombre de los campos en el conjunto de resultados.

Discutamos todos los componentes con la ayuda de imágenes en la siguiente sección:

Términos de búsqueda

Estos son los términos que menciona en la barra de búsqueda para obtener registros específicos del conjunto de datos que cumplen con los criterios de búsqueda. En el siguiente ejemplo, buscamos registros que contengan dos términos resaltados.

Comandos

Puede utilizar muchos comandos integrados que proporciona SPL para simplificar el proceso de análisis de los datos en el conjunto de resultados. En el siguiente ejemplo, usamos el comando head para filtrar solo los 3 resultados principales de una operación de búsqueda.

Funciones

Junto con los comandos, Splunk también proporciona muchas funciones integradas que pueden tomar la entrada de un campo que se está analizando y dar la salida después de aplicar los cálculos en ese campo. En el siguiente ejemplo, usamos elStats avg() función que calcula el valor medio del campo numérico que se toma como entrada.

Cláusulas

Cuando queremos obtener resultados agrupados por algún campo específico o queremos renombrar un campo en la salida, usamos el group bycláusula y la cláusula as respectivamente. En el siguiente ejemplo, obtenemos el tamaño promedio de bytes de cada archivo presente en elweb_applicationIniciar sesión. Como puede ver, el resultado muestra el nombre de cada archivo, así como el promedio de bytes de cada archivo.