Una quinta parte de la traducci贸n de la documentaci贸n oficial de visualizaci贸n de datos en Kibana.
Enlace al material original:
Gu铆a del usuario de Kibana [6.6] 禄VisualizarEnlace a la Parte 1:
Gu铆a del usuario de Kibana. Visualizaci贸n. Parte 1Enlace a la Parte 2:
Gu铆a del usuario de Kibana. Visualizaci贸n. Parte 2Enlace a la Parte 3:
Gu铆a del usuario de Kibana. Visualizaci贸n. Parte 3Enlace a la Parte 4:
Gu铆a del usuario de Kibana. Visualizaci贸n. Parte 4Enlace a la Parte 5:
Gu铆a del usuario de Kibana. Visualizaci贸n. Parte 5Contenido:
1. Gr谩ficos de Vega
2. Inspecci贸n de visualizaciones
Cuenta Vega
Advertencia Esta caracter铆stica es experimental y puede modificarse o eliminarse en una versi贸n futura. Elastic har谩 todo lo posible para solucionar cualquier problema, pero las funciones experimentales de SLA no admiten las funciones experimentales.
Puede crear visualizaciones de datos de
Vega y
VegaLite dentro de Kibana, tanto fuera de l铆nea como en la parte superior del mapa. Para ver a Vega en acci贸n, mira este
breve video general .
Comienza con Vega
Siga estos pasos para crear su primera visualizaci贸n de Vega.
- En Kibana, seleccione Visualizar y agregue una visualizaci贸n de Vega. Deber铆as ver el gr谩fico predeterminado.
- Intente cambiar la
mark
de line
a point
, area
, bar
, circle
, square
, ... (consulte la documentaci贸n ). - Pruebe el resto de las visualizaciones de Vega o VegaLite. Es posible que necesite que las URL sean absolutas, por ejemplo, reemplace
"url": "data/world-110m.json"
con "url": "https://vega.imtqy.com/editor/data/world-110m.json"
(ver nota m谩s abajo). - Con la utilidad makelogs , cree algunos datos de logstash y pruebe los ejemplos de logstash ( no use makelogs en un cl煤ster de producci贸n).
Vega vs VegaLite
VegaLite es una versi贸n simplificada de Vega, 煤til para un inicio r谩pido, pero con una serie de limitaciones. VegaLite se convierte autom谩ticamente a Vega antes de la ejecuci贸n. Compare
logstash-simple_line-vega y
logstash-simple_line-vegalite (ambos usan algunos datos de logstash de Elasticsearch). Puede usar
este editor para convertir VegaLite a Vega.
Consultas de Elasticsearch
Por defecto, un elemento de
datos de Vega puede usar datos internos y externos con el par谩metro
"url"
. Kibana agrega soporte para consultas directas de Elasticsearch volviendo a cargar el valor de la
"url"
.
Aqu铆 hay un ejemplo de una consulta Elasticsearch que cuenta el n煤mero de documentos en todos los 铆ndices. La consulta utiliza el campo
@timestamp
para filtrar el rango de tiempo y dividirlo en segmentos de histograma.
// An object instead of a string for the url value // is treated as a context-aware Elasticsearch query. url: { // Filter the time picker (upper right corner) with this field %timefield%: @timestamp // Apply dashboard context filters when set %context%: true // Which indexes to search index: _all // The body element may contain "aggs" and "query" subfields body: { aggs: { time_buckets: { date_histogram: { // Use date histogram aggregation on @timestamp field field: @timestamp // interval value will depend on the daterange picker // Use an integer to set approximate bucket count interval: { %autointerval%: true } // Make sure we get an entire range, even if it has no data extended_bounds: { min: { %timefilter%: "min" } max: { %timefilter%: "max" } } // Use this for linear (eg line, area) graphs // Without it, empty buckets will not show up min_doc_count: 0 } } } // Speed up the response by only including aggregation results size: 0 } }
El resultado completo tiene el siguiente tipo de estructura:
{ "aggregations": { "time_buckets": { "buckets": [{ "key_as_string": "2015-11-30T22:00:00.000Z", "key": 1448920800000, "doc_count": 28 }, { "key_as_string": "2015-11-30T23:00:00.000Z", "key": 1448924400000, "doc_count": 330 }, ...
Tenga en cuenta que
"key"
es una marca de tiempo de Unix y puede ser utilizada sin conversi贸n por expresiones de fecha de Vega.
Para la mayor铆a de los gr谩ficos, solo necesitamos una lista de valores de segmento, por lo que usamos el
format: {property: "aggregations.time_buckets.buckets"}
expresi贸n
format: {property: "aggregations.time_buckets.buckets"}
para enfocarnos solo en los datos que necesitamos.
La solicitud se puede especificar con un rango individual y un panel de informaci贸n contextual. Esta consulta es equivalente a
"%context%": true, "%timefield%": "@timestamp"
, excepto para cambiar el rango de tiempo hace 10 minutos.
{ body: { query: { bool: { must: [ // This string will be replaced // with the auto-generated "MUST" clause "%dashboard_context-must_clause%" { range: { // apply timefilter (upper right corner) // to the @timestamp variable @timestamp: { // "%timefilter%" will be replaced with // the current values of the time filter // (from the upper right corner) "%timefilter%": true // Only work with %timefilter% // Shift current timefilter by 10 units back shift: 10 // week, day (default), hour, minute, second unit: minute } } } ] must_not: [ // This string will be replaced with // the auto-generated "MUST-NOT" clause "%dashboard_context-must_not_clause%" ] } } } }
"%timefilter%"
tambi茅n se puede utilizar para determinar un 煤nico valor m铆nimo o m谩ximo. Como se muestra arriba, los l铆mites
extended_bounds
en date_histogram se pueden establecer con dos valores: m铆nimo y m谩ximo. En lugar de codificar el valor, puede usar
"min": {"%timefilter%": "min"}
, que se sobrescribir谩 al comienzo del rango de tiempo actual.
shift
valores de
shift
y
unit
tambi茅n son compatibles. El "intervalo" se puede establecer din谩micamente, dependiendo del rango seleccionado actualmente:
"interval": {"%autointerval%": 10}
intentar谩 obtener aproximadamente 10-15 puntos de datos (segmentos).
Archivos de mapas el谩sticos
Esta es la capacidad de acceder a los archivos de Elastic Map Service de acuerdo con alg煤n mecanismo.
url: { // "type" defaults to "elasticsearch" otherwise type: emsfile // Name of the file, exactly as in the Region map visualization name: World Countries } // The result is a geojson file, get its features to use // this data source with the "shape" marks // https://vega.imtqy.com/vega/docs/marks/shape/ format: {property: "features"}
Vega con mapa
El mapa de Kibana por defecto se puede utilizar como base para el gr谩fico de Vega. Para habilitar, el gr谩fico debe definir
type=map
en la configuraci贸n del host.
{ "config": { "kibana": { "type": "map", // Initial map position "latitude": 40.7, // default 0 "longitude": -74, // default 0 "zoom": 7, // default 2 // defaults to "default". Use false to disable base layer. "mapStyle": false, // default 0 "minZoom": 5, // defaults to the maximum for the given style, // or 25 when base is disabled "maxZoom": 13, // defaults to true, shows +/- buttons to zoom in/out "zoomControl": false, // defaults to true, disables mouse wheel zoom "scrollWheelZoom": false, // When false, repaints on each move frame. // Makes the graph slower when moving the map "delayRepaint": true, // default true } }, /* the rest of Vega JSON */ }
Esta visualizaci贸n incorporar谩 autom谩ticamente una proyecci贸n llamada
"projection"
. Use esto para calcular la posici贸n de todas las etiquetas geo-orientadas. Adem谩s, puede usar longitud, latitud y escala. Estas se帽ales se pueden usar en el gr谩fico o se pueden actualizar para cambiar la posici贸n del mapa.
Depuraci贸n
Consola de depuraci贸n del navegador
Use las herramientas del navegador para la depuraci贸n (por ejemplo, F12 o Ctrl + Shift + J en Chrome) para inspeccionar la variable
VEGA_DEBUG
: *
view
- acceda a Ver el objeto Vega. Consulte la
Gu铆a de depuraci贸n de Vega para ver c贸mo inspeccionar datos y se帽ales en tiempo de ejecuci贸n. Para VegaLite,
VEGA_DEBUG.view.data('source_0')
obtiene el conjunto de datos principal. Para Vega, esto usa un nombre de datos, que est谩 espec铆ficamente en su especificaci贸n de Vega. * especificaci贸n
vega_spec
del gr谩fico Vega JSON despu茅s de algunas modificaciones de Kibana. En el caso de VegaLite, esta es la salida del compilador VegaLite. *
vegalite_spec
: si se trata de un gr谩fico VegaLite, la especificaci贸n JSON del gr谩fico antes de compilar VegaLite
Datos
Si est谩 utilizando una consulta Elasticsearch, aseg煤rese de que los datos recibidos sean los que esperaba. La forma m谩s f谩cil de ver esto es mediante el uso de la pesta帽a "redes" en las herramientas de depuraci贸n de su navegador (por ejemplo, F12). Modifique un poco el gr谩fico para que realice una consulta de b煤squeda y observe la respuesta del servidor. Otro enfoque es usar la pesta帽a
Herramientas de desarrollo de Kibana : coloque el nombre del 铆ndice dentro de la primera l铆nea:
GET <INDEX_NAME>/_search
, y agregue su consulta con la siguiente l铆nea (solo el valor del campo
"query"
).
Si necesita compartir el gr谩fico con alguien, puede copiar la respuesta de la cadena de datos a
gist.github.com , posiblemente con la extensi贸n .json, use el bot贸n [raw] y use esta URL directamente en su gr谩fico.
Para evitar que Vega use fuentes de datos que no sean ES, agregue
vega.enableExternalUrls: false
al archivo kibana.yml.
Enlaces utiles
Uso de ejemplos de Vega y VegaLite
Al usar los
ejemplos de Vega y
VegaLite , debe modificar la secci贸n de "datos" para usar una URL absoluta. Por ejemplo, reemplace
"url": "data/world-110m.json"
con
"url": "https://vega.imtqy.com/editor/data/world-110m.json"
. Adem谩s, en los ejemplos regulares de Vega, usan el modelo de dise帽o de
"autosize": "pad"
, y Kibana usa
fit
. Elimine todos los valores de
autosize
,
width
y
height
. Ver abajo dimensiones y posicionamiento.
Opciones de configuraci贸n adicionales
Estas opciones son espec铆ficas de Kibana. El soporte de tarjeta tiene opciones de configuraci贸n adicionales.
{ config: { kibana: { // Placement of the Vega-defined signal bindings. // Can be `left`, `right`, `top`, or `bottom` (default). controlsLocation: top // Can be `vertical` or `horizontal` (default). controlsDirection: vertical // If true, hides most of Vega and VegaLite warnings hideWarnings: true // Vega renderer to use: `svg` or `canvas` (default) renderer: canvas } } /* the rest of Vega code */ }
Tama帽o y posici贸n
Vega y VegaLite.
Por defecto, los gr谩ficos de Vega en Kibana usar谩n el modelo de dise帽o autosize
autosize = { type: 'fit', contains: 'padding' }
para los gr谩ficos de Vega y VegaLite. El modelo de
fit
utiliza todo el espacio disponible, ignorando los valores de
width
y
height
, pero tiene en cuenta los valores de sangr铆a. Puede anular este comportamiento especificando un valor de
autosize
diferente.
Vega en el mapa.
Todos los gr谩ficos de Vega ignorar谩n el
autosize
, el
width
, la
height
y el
padding
utilizando el modelo de
fit
sangr铆a cero.
Inspecci贸n de visualizaci贸n
Muchas visualizaciones le permiten inspeccionar los datos subyacentes a la visualizaci贸n.
Para inspeccionar la visualizaci贸n, haga clic en el bot贸n
Inspeccionar en el editor o seleccione
Inspeccionar en el men煤 del panel Panel.
La pantalla inicial muestra los datos b谩sicos para la visualizaci贸n. Puede cargar datos como un archivo de valores separados por comas (CSV) en formatos con
formato o
sin formato.
Formateado carga datos en formato de tabla.
Raw carga los datos tal como se presentan: fechas como marcas de tiempo, n煤meros sin separadores mil茅simos, etc.
Para ver las solicitudes que recopilan datos, seleccione
Solicitudes en el men煤
Ver en la esquina superior derecha.
Las vistas disponibles dependen de la visualizaci贸n inspeccionada.