Ingeniería

Respuesta a 10 preguntas comunes mediante fórmulas y viajes en el tiempo en Kibana

Kibana crea formas fáciles para hacer cosas poderosas con todos tus datos; para elaborar y responder preguntas, y seguir el flujo de análisis. En muchas ocasiones, la respuesta a tu pregunta requiere cálculos basados en datos consultados. Las fórmulas te permiten elaborar tus propias métricas combinando varios campos agregados con operaciones matemáticas.

Además, avanzar por los datos y volver a reproducirlos en tiempo y espacio son formas poderosas de obtener el contexto histórico y comprender información adicional sobre el presente.

En las secciones siguientes encontrarás 10 ejemplos de preguntas que puedes responder con datos del dashboard y visualizaciones de mapa en Kibana a través de fórmulas, cambios de tiempo y el avance por los datos en el tiempo. Intenta seguir los pasos con tus propios datos o con los sets de datos de ejemplo de Kibana. ¿Tienes una pregunta? Ve a nuestro foro de debate.

Pasemos a la lista.

  1. ¿Está aumentando la proporción de errores?
  2. ¿Cómo se compara el rendimiento con el de la semana pasada?
  3. ¿Cómo se comparan estos datos con los de los pares?
  4. ¿Qué es lo que tiene el mayor efecto en mi promedio?
  5. ¿Cuál es la ganancia/pérdida en bruto comparada históricamente?
  6. ¿Cuál es la ganancia/pérdida como porcentaje del rendimiento pasado?
  7. ¿Cómo llegaron los datos a donde se encuentran hoy?
  8. ¿Cómo puedo explorar un dashboard en el espacio de forma interactiva?
  9. ¿Cuál es la versión por unidad de esta métrica?
  10. ¿Cuál es el cálculo específico de mi industria (como "grado de recomendación") del último período?

1) ¿Está aumentando la proporción de errores?

Las ratios son útiles porque pueden ayudar a mostrar la proporción respecto al total general y a responder una pregunta que los conteos en bruto no pueden: "¿veo esto en este aumento de medición porque recibo más datos en general?". Las ratios pueden construirse filtrando un subconjunto de datos y comparándolos con el valor general, sin filtrar, total. Intenta usar KQL para que actúe como este filtro en una fórmula personalizada a fin de elaborar tus ratios sobre la marcha.

En el ejemplo siguiente se muestra la ratio de usuarios únicos que experimentan códigos de error HTTP (response.code mayor que un HTTP 200) en comparación con usuarios únicos en general. Para obtener información adicional, la visualización incluye la hora del día como filas y el día de la semana como columnas. Si a tus datos les faltan estos campos, siempre puedes agregarlos como campo de tiempo de ejecución

unique_count(clientip, kql='response.keyword > 200') / unique_count(clientip)

Using formulas in Kibana Lens for ratios and visualizing with color-by-value.

Tabla de ratios de error por hora del día y día de la semana

Prácticas de visualización: Ratios

Al visualizar ratios, aplica el formato de valor de porcentaje. Usa "ratio" en el nombre de la métrica. Si visualizas valores como ratios de error, puede ser útil mostrarlos con relación a la hora del día y al día de la semana en una tabla. Con las ratios, el promedio puede brindar información en el nivel de columnas (en este caso, la tasa de errores promedio del día de la semana).

2) ¿Cómo se compara el rendimiento con el de la semana pasada?

La opción de período comparado con período te dará una representación porcentual del ahora en comparación con el pasado, en la que 100 % es una coincidencia exacta. 

En el ejemplo se muestra un aumento de 14 veces (1400 %) del ancho de banda en comparación con la semana anterior.

median(bytes) / median(bytes, shift='1w')

Formulas in Kibana Lens for showing change week over week over time.

Cambio en el ancho de banda semana comparada con semana en el tiempo

Prácticas de visualización: Período comparado con período 

El período comparado con período puede ser útil para casi cualquier visualización. Puede resultar útil para observar un período comparado con período en el tiempo a fin de detectar si los cambios de períodos en sí cambian con el tiempo. Este cálculo da como resultado otro porcentaje (así que no olvides el formato de valor), y si tus datos están dispersos en un gráfico de líneas, la opción de valores faltantes "lineales" es la menos disruptiva visualmente.

3) ¿Cómo se comparan estos datos con los de los pares?

Usar sumas generales te permite mostrar cualquier dato como una proporción del total para facilitar las comparaciones. 

En el ejemplo siguiente, podemos ver que la imagen "ceph" genera la mayoría de los datos y, en lugar de tener que mirar los conteos, podemos ver el valor como un porcentaje.

count() / overall_sum( count() )

Formulas in Kibana Lens for visualizing percents of overall sums for comparisons

Porcentaje de datos de infraestructura por imagen de contenedor

Prácticas de visualización: Porcentaje de suma general

Crear un porcentaje del total general con una fórmula permite que cualquier visualización presente datos de proporción respecto al total, cuando anteriormente solo los gráficos de rectángulos, circulares y tipo dona ofrecían esto. Puedes usar una barra horizontal para mostrar un porcentaje de un total cuando deseas asegurarte de que todos los puntos de datos pueden leerse.

Treemaps in KibanaLos gráficos de rectángulos, circulares y tipo dona generan de forma automática el porcentaje de los datos, pero puede faltarles legibilidad

4) ¿Qué es lo que tiene el mayor efecto en mi promedio?

Las funciones como la de promedio general te permiten hacer comparaciones matemáticas respecto al promedio de todos los valores en el reporte completo. 

En este ejemplo podemos ver qué categorías tienen mejor rendimiento que el promedio general de las ventas totales; ambas categorías de indumentaria están por encima del promedio general.

sum(taxless_total_price) - overall_average(sum(taxless_total_price))

Using formulas to visualize deviation of sum

Desviación de categoría de producto respecto a las ventas promedio

Prácticas de visualización: Desviación

Puede ser especialmente útil usar barras horizontales al visualizar una métrica que se centre en 0. No olvides asignar un nombre de métrica descriptivo. 

5) ¿Cuál es la ganancia/pérdida en bruto comparada históricamente?

Las diferencias diferidas comparan la misma métrica en un momento anterior. Puede ser útil sustraer el pasado del presente, lo cual te brinda una visualización centrada en cero; los números positivos son un aumento en comparación con el pasado. 

Aquí tenemos un ejemplo de uso de CPU promedio en nodos de Kubernetes en comparación con 6 horas antes. En este ejemplo se usa la división para convertir nanocores de CPU en cores (ten en cuenta lo siguiente, un campo de tiempo de ejecución es una buena forma de agregar esto como conversión de métrica adicional para que otros usuarios lo encuentren en la lista de campos, en lugar de tener que hacer esto en una fórmula). 

(
   average(kubernetes.node.cpu.usage.nanocores)
   - average(kubernetes.node.cpu.usage.nanocores, shift='6h')
) / 1000000000

Time-shifted differences with formulas in Kibana

Cambios en la utilización de CPU core del nodo en comparación con 6 horas antes 

Prácticas de visualización: Diferencias diferidas y unidades cambiantes

Mover el eje a la parte superior de la visualización puede servir cuando el valor más "preocupante" es un número grande en la parte superior de la visualización. 

6) ¿Cuál es la ganancia/pérdida como porcentaje del rendimiento pasado?

Una interpretación ligeramente distinta respecto a las diferencias diferidas, cambio porcentual, te permite ver un aumento como un porcentaje del valor en el pasado, en lugar de la diferencia en bruto. Esto es popular al hablar sobre el crecimiento. 

Percentage change calculation

Ejemplo de cálculo de cambio porcentual

El ejemplo siguiente muestra el cambio porcentual del uso de CPU por Kubernetes. 

(
   (
   average(kubernetes.node.cpu.usage.nanocores)
   - average(kubernetes.node.cpu.usage.nanocores, shift='3d')
   ) /
   (
   average(kubernetes.node.cpu.usage.nanocores, shift='3d')
   )
)

Using formulas for percentage change

Cambio porcentual en el uso de CPU del nodo respecto a 3 días atrás

Prácticas de visualización: Cambio porcentual

Si usas el formato de valor "porcentaje", no necesitas multiplicar el valor por 100. Cuando hay espacio, las etiquetas de valor pueden ayudar a complementar la visualización. 

7) ¿Cómo llegaron los datos a donde se encuentran hoy?

Un mapa es la mejor forma de comprender el contexto geográfico de tus datos. Sin embargo, un mapa es solo un snapshot; puede representar los últimos 15 minutos o el último año. De hecho, tu mapa puede contar una historia diferente si lo observas minuto a minuto o día a día. Con el control deslizante temporal, puedes volver a mostrar métricas y ver cambios en el tiempo con cada unidad de tiempo incremental. Puedes detectar un patrón que previamente pasó desapercibido o una anomalía que requiere una investigación más detallada. El control deslizante temporal te muestra cómo los datos llegaron a su ubicación actual. 

Time slider in Elastic Maps

Control deslizante temporal en Elastic Maps

8) ¿Cómo puedo explorar un dashboard en el espacio de forma interactiva?

A veces, la respuesta a tu pregunta depende de dónde. Si estás creando un dashboard para otros, considera habilitar la capacidad de usar un mapa como filtro para el dashboard completo. Intenta visualizar las métricas clave en un dashboard junto a un mapa. Esto permite que todos visualicen métricas no espaciales y filtren en relación con el espacio, y puede ser una forma poderosa de realizar comparaciones y encontrar anomalías.

Filter your dashboard data using Maps

Mapas como filtro para dashboards

9) ¿Cuál es la eficiencia por unidad?

Se puede usar una fórmula personalizada para reducir los datos resumidos a fin de obtener métricas por unidad. Todo esto depende de cómo ingresan tus datos, cuáles son las métricas y cuál es tu "unidad" en los datos. 

El ejemplo siguiente muestra la telemetría de métricas del cloud en un intervalo periódico (como 30 segundos). Los totales de métricas (uso de CPU, por ejemplo) y la cantidad de eventos que representa el total (solicitudes), con una fórmula, nos permiten determinar el uso de CPU promedio por solicitud y hacer cosas como representar la tendencia de la métrica nueva en el tiempo para comprender la eficiencia a medida que aumenta la carga. En la visualización resultante, los "valles" muestran que el sistema se vuelve más eficiente con carga pesada.

average(kubernetes.pod.cpu.usage.node.pct) //métrica promedio
counter_rate(max(nginx.stubstatus.requests)) //por solicitud

Using formulas for finding average metrics per unitCPU promedio por solicitud en el tiempo

Prácticas de visualización: Por unidad

Si usas una métrica por unidad, asegúrate de incluir la agregación de la métrica que se está usando y "por unidad" en el nombre de la métrica. Puede ser útil para visualizar la unidad que está en la fórmula en una serie o panel de dashboard diferente.

10) ¿Cuál es el cálculo específico de mi industria (como "grado de recomendación") del último período?

Supongamos que la organización adoptó una métrica específica que se calcula de una forma en especial. Por ejemplo, si los datos contienen preguntas de encuesta, a algunas organizaciones les gusta calcular el "grado de recomendación" contando el porcentaje de "quienes recomiendan" (puntuar las 2 opciones más altas en preguntas de escala) restado del porcentaje de "detractores" (puntuar las 2 opciones más bajas en preguntas de escala) para llegar a un solo valor de entre -100 % y 100 %. Este tipo de métrica comercial es tan simple como una fórmula y, dado que la fórmula se calcula al momento del reporte, puedes redefinirla con facilidad a medida que tu empresa evoluciona sus métricas y definiciones.

Calculating industry-specific metrics with formulas

Cálculo de métricas específicas de la industria como grado de recomendación

¿Tienes preguntas de datos?

Prueba estos ejemplos por tu cuenta registrándote para una prueba gratuita de Elastic Cloud o descarga la versión autogestionada del Elastic Stack de forma gratuita. Si tienes más preguntas sobre cómo dar los primeros pasos, ve al foro de Kibana o echa un vistazo a la guía de documentación de Kibana