Usar Kibana para ejecutar consultas en ElasticSearch usando el lenguaje de consultas Lucene y Kibana

Usar Kibana para ejecutar consultas en ElasticSearch usando el lenguaje de consultas Lucene y Kibana

  • ITOps y DevOps
6 min de lectura Actualizado Jul 18, 2019

Puntos clave: El uso de Kibana permite a los usuarios ejecutar consultas en ElasticSearch con Lucene y Kibana Query Language (KQL). La guía detalla cómo introducir consultas JSON, destacando las diferencias entre la sintaxis KQL y Lucene.

  • Las consultas JSON DSL pueden utilizarse en Kibana.
  • Kibana es compatible tanto con KQL como con Lucene, con diferencias clave en la sintaxis.

Hemos discutido extensamente cómo consultar ElasticSearch con CURL. Ahora mostramos cómo hacerlo con Kibana.

te puedes seguir esta entrada del blog para llenar tu servidor ES con algunos datos.

Las consultas JSON (también conocidas como JSON DSL) son lo que utiliza con el curl. Pero te también puede utiliza las que tienen Kibana. No funcionará con agregaciones, anidadas y otras consultas.

Al usar JSON, la diferencia están que solo te pasar el objeto de consulta. Así que para esta consulta de curl:

    {"query":{"match":{"geoip.country_name":"Luxembourg"}}}

te pegaría solo esta parte en Kibana.

    {"match":{"geoip.country_name":"Luxembourg"}}

Introduciendo consultas en Kibana

En la pestaña Descubrimiento de Kibana, pega el texto anterior, cambiando primero el lenguaje de consulta a Lucene desde KQL, asegurándote te seleccionar el patrón de índice logstash*. A continuación hablamos del Lenguaje de Consulta Kibana (KBL).

Si te olvidas de cambiar el lenguaje de consulta de KQL a Lucene, te dará el error:

    Discover: input.charAt is not a function. (In 'input.charAt(peg$currPos)', 'input.charAt' is undefined)

La forma más sencilla de introducir la consulta JSON DSL están utiliza el editor de consultas, ya que crea el objeto de consulta para te:

Guarda la consulta, poniéndole algún nombre:

Kibana Query Language (KBL) frente a Lucene

te pueden utiliza KBL o Lucene en Kibana. son básicamente iguales, salvo que KBL ofrece cierta simplificación y soporta scripting.

Aquí son algunas consultas comunes y cómo te hacerlas en cada lenguaje de consulta.

KBL Lucene Explicación
Solicitud:"/wordpress/" Solicitud:"/wordpress/" El punto (:) significa igual a. Las comillas significan un conjunto de palabras, es decir, una frase.
Solicitud:/wordpress/ Solicitud:/wordpress/ No necesitas comillas para una palabra.
Solicitud:/wordpress/ Solicitud:/wordpress/ No necesitas comillas para una palabra.
Solicitud:/WordPress/ y respuesta:404 Solicitud:/WordPress/ y respuesta:200 para KBL te debe poner explícitamente el operador booleano. Para Lucene el operador no están reconocido como operador sino como una cadena de texto a menos que te utiliza escriba en mayúsculas.
WordPress WordPress Coincidencias basadas en cualquier texto (wordpress en este ejemplo) en el documento y no en un campo específico.
200 o 404 200 404 añadir la palabra o a Lucene también incluiría texto que contiene la cadena "o". Así que déjalo fuera o utiliza OR mayúscula.
200 y 404 200 Y 404 Utiliza mayúsculas con Lucene para operadores lógicos.
geoip.country_name: "Luxemburgo" {"match":{"geoip.country_name": "Luxembourg"}} Lucene es compatible con lenguaje de consulta JSON DSL, como ilustramos arriba
respuesta:>=200 y respuesta:< =404 respuesta:[200 A 404] Consulta de rango
kilobytes > 1 No soportado Campo scriptado, donde están los kilobytes: si (doc['bytes'].size()==0) { return 0; } return doc['bytes'].value / 1024;

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de ITOps y DevOps

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.