# Tutorial de Kibana: análisis de datos con Elasticsearch

El motor de búsqueda y análisis Elasticsearch es una de las mejores soluciones de código abierto para **indexar y estructurar grandes bases de datos**. Sin embargo, para extraer conclusiones valiosas de su análisis, a menudo es necesario presentarlos **de forma clara y comprensible**. La herramienta de visualización Kibana se ha desarrollado especialmente para la presentación de datos obtenidos con ElasticSearch. ¿Cómo usar Kibana?

## ¿Qué es Kibana?

**Kibana** es una interfaz web escalable para la representación visual de datos. Junto con **Elasticsearch** y la herramienta de procesamiento de datos **Logstash**, forma la llamada “**pila ELK**” (también llamada Elastic Stack). Esta suite de código abierto permite a los usuarios recoger, organizar y preparar datos con fines analíticos **desde diferentes servidores** (y en cualquier formato). Además de la capacidad de visualizar los datos procesados por Logstash y Elasticsearch, Kibana también ofrece **análisis automáticos en tiempo real**, un **algoritmo de búsqueda muy flexible** y **diferentes tipos de vistas** (histogramas, gráficos, diagramas circulares, etc.) para los datos. En el panel de control (dashboard), las diversas visualizaciones interactivas pueden combinarse para formar una imagen general dinámica que permita su filtrado y examen.

Al ser una aplicación web escrita en **JavaScript**, Kibana puede utilizarse en **todas las plataformas**. Solo se incurrirá en gastos si se utiliza el servicio de hosting Elastic Cloud, ofrecido por el desarrollador. Este servicio de pago permite implementar y organizar un **clúster seguro Kibana-Elasticsearch en Amazon o Google** sin tener que proporcionar recursos propios.

## Tutorial de Kibana: primeros pasos con la herramienta de visualización

Kibana ofrece una amplia gama de funciones para presentar gráficamente bases de datos preparadas. Sin embargo, antes de que la herramienta esté lista para filtrar y visualizar la información en el dashboard, de tal manera que permita identificar, analizar y evaluar los **valores clave**, hay un largo trabajo previo. Con este manual de Kibana, te facilitamos la puesta en marcha de esta competente interfaz web porque aprenderás cómo instalar Kibana correctamente, cómo crear tu primer panel de control y cómo incorporar bases de datos ya existentes a la herramienta de visualización.

### Paso 1: poner en marcha Kibana

Dado que Kibana está diseñado para mostrar datos que se han indexado usando **Elasticsearch**, el primer paso será instalar el motor de búsqueda y análisis. Los paquetes correspondientes para **Windows, macOS y Linux** se encuentran en el [centro de descargas de Elasticsearch](https://www.elastic.co/es/downloads/elasticsearch "Descarga de Elasticsearch"). Requiere un entorno de ejecución Java actual (64 bits).

Kibana también está disponible como software multiplataforma para **Windows, macOS y Linux** (RPM, DEB). Dado que la aplicación está basada en el entorno de ejecución de JavaScript [Node.js](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/introduccion-a-nodejs/ "Introducción a Node.js"), los distintos paquetes de instalación también contienen los archivos binarios de Node.js necesarios para ejecutar la herramienta de visualización (no es compatible con versiones independientes). Los diferentes paquetes (ZIP) también se descargan, como Elasticsearch, desde la página principal de [Elastic](https://www.elastic.co/es/downloads/elasticsearch "Descarga de Kibana").

---

### Nota

Los usuarios de Linux y Mac también pueden instalar Kibana desde el **repositorio Elastic** usando los gestores de paquetes **apt** y **yum**. En los [manuales online](https://www.elastic.co/guide/en/kibana/current/install.html "Manuales de Kibana online: instalación") de Kibana encontrarás instrucciones detalladas al respecto.

---

Una vez descomprimido el paquete Kibana, ejecuta el archivo **bin/kibana** (macOS, Linux) o **bin\\kibana.bat** (Windows) para poner en marcha el servidor Kibana.

[![Imagen: Línea de comandos de Windows 10: el servidor Kibana se inicia](https://www.ionos.mx/digitalguide/fileadmin/_processed_/f/d/csm_kibana-ES-1_b86cbdff6b.webp "Línea de comandos de Windows 10: el servidor Kibana se inicia")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-1.jpg) El servidor Kibana tarda unos segundos en iniciarse.       Abre, a continuación, el **backend de Kibana** a través de la dirección **'http://localhost:5601'** en el navegador (Elasticsearch ya debe estar ejecutándose).

[![Imagen: Kibana: pantalla de inicio](https://www.ionos.mx/digitalguide/fileadmin/_processed_/3/e/csm_kibana-ES-2_067addcb43.webp "Kibana: pantalla de inicio")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-2.jpg) La interfaz de usuario de Kibana solo está disponible en inglés.       ###  Paso 2: nutrir a Kibana con datos

Para poder explorar el panel de control de Kibana y sus funciones con más detalle, primero ha de disponer de datos. En la página web de Elastic hay tres [bases de datos de muestra](https://www.elastic.co/guide/en/kibana/ "elastic.co: descargar datos de muestra") descargables gratuitamente que son las que utilizaremos aquí para realizar pruebas. Se trata de las bases de datos “**shakespeare.json**” (base de datos de las obras completas de William Shakespeare), “**accounts.zip**” (conjunto de cuentas ficticias) y “**logs.jsonl.gz**” (conjunto de archivos de registro generados al azar).

Descarga y descomprime los tres archivos y guárdalos en una ubicación de tu elección.

[![Imagen: Bases de datos de muestra de Kibana en elastic.co](https://www.ionos.mx/digitalguide/fileadmin/_processed_/c/2/csm_kibana-ES-3_9dea40af0a.webp "Bases de datos de muestra de Kibana en elastic.co")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-3.jpg) Las bases de datos de muestra también pueden descargarse haciendo clic en sus respectivos enlaces. La descarga se iniciará automáticamente.       Antes de introducir los datos en la herramienta, es necesario **crear una imagen** (*mapping*) de los campos de las bases de datos *shakespeare* y *server logs*. Estas clasificaciones **subdividen los** **documentos en el índice en grupos lógicos** y especifican las propiedades de los campos (hasta qué punto pueden buscarse, por ejemplo). La herramienta adecuada para configurar el *mapeo* es la consola, que se encuentra en el menú **“Dev Tool” &gt; “Console”** en la interfaz de Kibana.

[![Imagen: Kibana: plugin Console](https://www.ionos.mx/digitalguide/fileadmin/_processed_/4/d/csm_kibana-ES-4_98e430014d.webp "Kibana: plugin Console")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-4.jpg) El plugin Console de Kibana proporciona una interfaz que permite interactuar directamente con la API REST de Elasticsearch.       Ahora inserta por orden los siguientes mappings utilizando una petición PUT:

```none
PUT /shakespeare
{
 "mappings": {
  "doc": {
   "properties": {
    "speaker": {"type": "keyword"},
    "play_name": {"type": "keyword"},
    "line_id": {"type": "integer"},
    "speech_number": {"type": "integer"}
   }
  }
 }
}
```

```none
PUT /logstash-2015.05.18
{
    "mappings": {
        "log": {
            "properties": {
                "geo": {
                    "properties": {
                        "coordinates": {
                            "type": "geo_point"
                        }
                    }
                }
            }
        }
    }
}
```

```none
PUT /logstash-2015.05.19
{
    "mappings": {
        "log": {
            "properties": {
                "geo": {
                    "properties": {
                        "coordinates": {
                            "type": "geo_point"
                        }
                    }
                }
            }
        }
    }
}
```

```none
PUT /logstash-2015.05.20
{
    "mappings": {
        "log": {
            "properties": {
                "geo": {
                    "properties": {
                        "coordinates": {
                            "type": "geo_point"
                        }
                    }
                }
            }
        }
    }
}
```

[![Imagen: Consola de Kibana: introducción de los mappings de la base de datos](https://www.ionos.mx/digitalguide/fileadmin/_processed_/8/e/csm_kibana-ES-5_e78f4e5231.webp "Consola de Kibana: introducción de los mappings de la base de datos")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-5.jpg) Pulsando en el símbolo del triángulo verde, obtienes la respuesta a la petición introducida en la consola de Kibana.     Utiliza ahora la API Bulk de Elasticsearch para cargar con Curl los registros (datos) a través de la terminal. En Windows, utiliza la PowerShell con el Invoke-RestMethod (ejemplo de código a continuación):

```none
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @accounts.json
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/shakespeare/doc/_bulk?pretty' --data-binary @shakespeare_6.0.json
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl
```

```none
Invoke-RestMethod "http://localhost:9200/bank/account/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "accounts.json"
Invoke-RestMethod "http://localhost:9200/shakespeare/doc/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "shakespeare_6.0.json"
Invoke-RestMethod "http://localhost:9200/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "logs.jsonl"
```

[![Imagen: Powershell de Windows mostrando la carga de los registros Kibana](https://www.ionos.mx/digitalguide/fileadmin/_processed_/8/8/csm_kibana-ES-6_86bfce87bb.webp "Powershell de Windows mostrando la carga de los registros Kibana")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-6.jpg) Asegúrate de ejecutar los comandos de carga de los registros en el directorio donde se encuentran las tres bases de datos de ejemplo.       ---

### Nota

En función de la potencia de cálculo del equipo, la carga de los datos puede durar más o menos.

---

Vuelve a la consola de Kibana y **verifica el éxito de la transferencia con la siguiente petición GET**:

```none
GET /_cat/indices?v
```

Si los datos se han cargado como debían, la **salida** debería ser:

[![Imagen: Consola Kibana: output de la consulta de índice](https://www.ionos.mx/digitalguide/fileadmin/_processed_/e/e/csm_kibana-ES-7_021eb51636.webp "Consola Kibana: output de la consulta de índice")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-7.jpg) El “health status” amarillo (“yellow”) indica que Elasticsearch ha clasificado todos los fragmentos primarios (partes de un índice de datos), pero no todas las réplicas (copias de seguridad de los fragmentos).       ###  Paso 3: definir un primer patrón de índice

Para que Kibana sepa qué datos ha de procesar, hay que **crear los patrones para los índices “Shakespeare”, “bank” y “logstash”**. Para definir el primero haremos lo siguiente:

1. Abre el menú “**Management**” (Administración) y clica en “**Index Patterns**” (Patrones de índice). Con el primer patrón de índice, la página “**Create index pattern**” (Crear patrón de índice) se abre automáticamente, aunque también puede abrirse con el botón del mismo nombre.
2. Escribe “**shakes\***” en el campo “**Index pattern”** y, a continuación, pincha en “**Next step**” (Paso siguiente).
3. Dado que no se requiere ninguna configuración especial para este patrón, omite el siguiente paso y completa la creación del patrón haciendo clic en “**Create index pattern**”.

[![Imagen: Interfaz de Kibana: menú de creación de patrones de índice](https://www.ionos.mx/digitalguide/fileadmin/_processed_/3/f/csm_kibana-ES-8_b401e71c41.webp "Interfaz de Kibana: menú de creación de patrones de índice")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-8.jpg) Un patrón de índice recién creado debe coincidir con al menos un índice que contenga datos. De lo contrario, no se podrá continuar con el proceso de configuración.       Repite los pasos para el modelo “**ba\***”, que se asigna automáticamente al índice “bank”.

Finalmente, define también un patrón de índice con el nombre “**logstash\***” para los tres índices de registros del servidor (server logs). Con este patrón no se salta el menú de configuración, sino que se selecciona la entrada “**@timestamp**” en el menú desplegable “**Time Filter field name**” (Nombre de campo de filtro de tiempo), ya que estos registros contienen datos de secuencias cronológicas. A continuación, clica en “**Create index pattern**” como en los dos patrones anteriores.

[![Imagen: Kibana: menú de configuración del filtro de tiempo para el patrón “logstash*”](https://www.ionos.mx/digitalguide/fileadmin/_processed_/a/c/csm_kibana-ES-9_d6640ae47b.webp "Kibana: menú de configuración del filtro de tiempo para el patrón “logstash*”")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-9.jpg) Los datos cronológicos (como los registros del servidor), constituyen registros de datos que se recopilan de forma continua.       ###  Paso 4: explorar los registros que se han incorporado a Kibana

Una vez tu servidor Kibana cuenta con registros, puedes **iniciar una consulta de búsqueda con Elasticsearch** para examinarlos y filtrar los resultados. Para ello, en Kibana ve al menú “**Discover**” y selecciona el patrón de índice para su búsqueda utilizando el símbolo del triángulo pequeño en la barra de menú de la izquierda. Para nuestro tutorial de Kibana Dashboard, nos hemos decantado por el registro de cuentas (ba\*):

[![Imagen: Kibana: lista de entradas de un registro de datos](https://www.ionos.mx/digitalguide/fileadmin/_processed_/e/5/csm_kibana-ES-10_3b9b624041.webp "Kibana: lista de entradas de un registro de datos")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-10.jpg) Kibana: lista las entradas del registro seleccionado, en este caso ba\*, que contiene categorías típicas de cuentas bancarias como saldo, nombre, edad, etc.       Como prueba, filtra ahora el registro de cuentas bancarias para ver solo las **cuentas que cumplen con determinados criterios**. Por ejemplo, para buscar específicamente cuentas que tengan un **saldo superior a 47 500 euros** y pertenezcan a personas **mayores de 38 años**, escribe el siguiente comando en el cuadro de búsqueda:

```none
balance:>47500 AND age:>38
```

Discover devuelve como respuesta **cuatro cuentas (97, 177, 878 y 916)** que se corresponden con las propiedades seleccionadas.

[![Imagen: Kibana: resultados del filtrado de un registro](https://www.ionos.mx/digitalguide/fileadmin/_processed_/f/3/csm_kibana-ES-11_3ab1aa72e6.webp "Kibana: resultados del filtrado de un registro")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-11.jpg) Con el botón “Add a filter” (Añade un filtro) puedes definir tus propios filtros para la base de datos seleccionada.       Puedes guardar tus búsquedas haciendo clic en el botón “**Save**” en la barra de menú superior.

### Paso 5: visualizar los datos

Si has seguido los pasos explicados hasta ahora en este tutorial de Kibana, ya estás en situación de visualizar los datos implementados para dar vida a tu panel de control. Como ejemplo, crearemos un **gráfico circular** que representará la **base de datos de cuentas bancarias**. Este diagrama deberá mostrar, por un lado, qué porción del total de las 1000 cuentas cae dentro de ciertos rangos de saldo de cuenta y, por otro lado, cómo resulta la distribución por edades dentro de estas divisiones.

Abre en un primer paso el menú “**Visualize**” (Visualizar) y haz clic en “**Create a visualization**” (Crear una visualización) para obtener una lista de los tipos de gráficos disponibles. Selecciona la opción “**Pie**” (Pastel).

[![Imagen: Kibana: menú de selección para los tipos de gráfico](https://www.ionos.mx/digitalguide/fileadmin/_processed_/7/1/csm_kibana-ES-12_f9c1d4739b.webp "Kibana: menú de selección para los tipos de gráfico")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-12.jpg) Entre los tipos de visualización disponibles en Kibana también se incluyen mapas de calor, gráficos de barras y gráficos de área.       En un primer paso, solo verás un círculo que aglutina todas las entradas de la base de datos, ya que **todavía no se han definido categorías**. Estas se llaman “**Buckets**” (Cubos) en Kibana y se crean en el punto homónimo del menú.

Para definir los diferentes rangos para los saldos, pincha en “**Split Slices**” (Separar porciones) y selecciona “**Range**” (Rango) en el menú desplegable “**Aggregation**” (Agregación):

[![Imagen: Kibana: ventana para definir las categorías del gráfico](https://www.ionos.mx/digitalguide/fileadmin/_processed_/e/c/csm_kibana-ES-13_6defad577c.webp "Kibana: ventana para definir las categorías del gráfico")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-13.jpg) Con el tipo "Range" se crean rangos de valores para campos seleccionados de un registro de datos.       En “**Field**” (Campo) busca la entrada “**balance**”(saldo) y pincha en ella, para después pinchar cuatro veces en el botón “**Add Range**” (Añadir rango), con lo que definirás seis categorías para saldos de cuentas:

<table>
  <tbody>
    <tr>
      <td>0</td>
      <td>999</td>
    </tr>
    <tr>
      <td>1000</td>
      <td>2999</td>
    </tr>
    <tr>
      <td>3000</td>
      <td>6999</td>
    </tr>
    <tr>
      <td>7000</td>
      <td>14999</td>
    </tr>
    <tr>
      <td>15000</td>
      <td>30999</td>
    </tr>
    <tr>
      <td>31000</td>
      <td>50000</td>
    </tr>
  </tbody>
</table>

Pincha, a continuación, en “**Apply changes**”(Aplicar cambios) y el gráfico circular mostrará la distribución de las cuentas según los rangos de saldos que has definido.

[![Imagen: Kibana: gráfico circular con categorías](https://www.ionos.mx/digitalguide/fileadmin/_processed_/0/a/csm_kibana-ES-14_659f6ac875.webp "Kibana: gráfico circular con categorías")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-14.jpg) Kibana crea automáticamente la leyenda para el diagrama, cuya posición (derecha, izquierda, arriba, abajo) puede ajustarse en las opciones.       En un segundo paso, se añade otro anillo al diagrama que visualiza la distribución de los rangos de edad en correspondencia con las áreas de saldo de cuenta. Para ello, pincha en “**Add sub-buckets**” (Añadir subcategorías), luego de nuevo en “**Split Slices**” y finalmente selecciona “**Terms**” (Condiciones) en el menú desplegable. Busca en “**Field**” la entrada “**age**” (edad) y acepta los cambios pinchando en “**Apply changes**”.

[![Imagen: Kibana: gráfico circular con categorías y subcategorías](https://www.ionos.mx/digitalguide/fileadmin/_processed_/f/d/csm_kibana-ES-15_7a8f6d29d3.webp "Kibana: gráfico circular con categorías y subcategorías")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-15.jpg) Si mueves el ratón sobre los componentes del diagrama, Kibana mostrará información sobre herramientas adicionales, a menos que se haya desactivado en las opciones.       Ahora puedes guardar la visualización utilizando el botón "Guardar" situado en la barra de menú superior.

### Paso 6: organizar el Dashboard

Finalmente, nos detendremos brevemente el Dashboard de Kibana. Para ello será necesario **crear un primer panel de control de prueba** utilizando la búsqueda y la visualización que se guardaron en los pasos anteriores 4 y 5. Selecciona en primer lugar el panel de control en la navegación de la página y clica en “**Create new dashboard**” (Crear nuevo panel de control) y, a continuación, en “**Add**” (Añadir). Kibana listará entonces automáticamente todas las visualizaciones o búsquedas guardadas:

[![Imagen: Kibana Dashboard: menú para añadir paneles](https://www.ionos.mx/digitalguide/fileadmin/_processed_/c/f/csm_kibana-ES-16_fdbd6df876.webp "Kibana Dashboard: menú para añadir paneles")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-16.jpg) La función de búsqueda permite encontrar fácilmente cualquier panel de control incluso con un gran número de visualizaciones o resultados de búsqueda.       Haciendo clic con el botón izquierdo del ratón se añade al panel de control la visualización del saldo de la cuenta y el resultado de la búsqueda, permitiendo la presentación en paralelo.

[![Imagen: Kibana Dashboard: panel de control de ejemplo](https://www.ionos.mx/digitalguide/fileadmin/_processed_/3/b/csm_kibana-ES-17_49f3884e07.webp "Kibana Dashboard: panel de control de ejemplo")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/kibana-ES-17.jpg) Con el botón "Share" puedes compartir tu panel de control de Kibana con otros usuarios o incorporarlo a tu sitio web.       Ahora puedes modificar los paneles **cambiando su tamaño o su posición**, por ejemplo. También es posible mostrar un resultado de visualización o búsqueda en toda la pantalla o **eliminarlo del panel** de control. Mediante “Inspect” (Inspeccionar), puedes visualizar información adicional sobre los datos y consultas subyacentes de muchas visualizaciones.

---

### Nota

Si quitas un panel del Dashboard de Kibana, la visualización o búsqueda guardada no se pierde.

---


This is a markdown version of: [https://www.ionos.mx/digitalguide/online-marketing/analisis-web/tutorial-de-kibana/](https://www.ionos.mx/digitalguide/online-marketing/analisis-web/tutorial-de-kibana/) for AI/LLM consumption.