Visualización de datos de Azure Data Explorer en Kibana con el conector de código abierto K2Bridge
K2Bridge (Kibana-Kusto Bridge) permite usar Azure Data Explorer como origen de datos y visualizar dichos datos en Kibana. K2Bridge es una aplicación en contenedores de código abierto. Actúa como un proxy entre una instancia de Kibana y un clúster de Azure Data Explorer. En este artículo se describe cómo usar K2Bridge para crear esa conexión.
K2Bridge traduce las consultas de Kibana al lenguaje de consulta de Kusto (KQL) y devuelve a Kibana los resultados de Azure Data Explorer.

K2Bridge admite la pestaña Discover (Detectar) de Kibana, donde puede hacer lo siguiente:
- Buscar y explorar los datos.
- Filtrar los resultados.
- Agregar o quitar campos en la cuadrícula de resultados.
- Ver el contenido del registro.
- Guardar y compartir búsquedas.
En la siguiente imagen se muestra una instancia de Kibana enlazada a Azure Data Explorer mediante K2Bridge. La experiencia de usuario en Kibana no cambia.
Prerrequisitos
Para poder visualizar datos de Azure Data Explorer en Kibana, debe tener a punto lo siguiente:
Suscripción a Azure. Cree una cuenta de Azure gratuita. com/helm/helm#install), que es el administrador de paquetes de Kubernetes.
Clúster de Azure Kubernetes Service (AKS) o cualquier otro clúster de Kubernetes. Las versiones 1.14 a 1.16 se han probado y comprobado. Si necesita un clúster de AKS, consulte los artículos en los que se explica cómo implementar un clúster de AKS mediante la CLI de Azure o mediante Azure Portal.
Una entidad de servicio de Azure Active Directory (Azure AD) autorizada para ver datos en Azure Data Explorer, como por ejemplo, el identificador de cliente y el secreto de cliente.
Se recomienda usar una entidad de servicio con permiso de visor, no es preciso que tenga permisos de nivel superior. Establezca los permisos de visualización del clúster para la entidad de servicio de Azure AD.
Para más información, sobre la entidad de servicio de Azure AD, consulte Creación de una entidad de servicio de Azure AD.
Ejecución de K2Bridge en Azure Kubernetes Service (AKS)
De forma predeterminada, el gráfico de Helm de K2Bridge hace referencia a una imagen disponible públicamente ubicada en el Registro de contenedor de Microsoft (MCR). MCR no requiere credenciales.
Descargue los gráficos de Helm necesarios.
Agregue la dependencia Elasticsearch a Helm. La dependencia es necesaria porque K2Bridge utiliza una pequeña instancia interna de Elasticsearch. La instancia atiende solicitudes relacionadas con los metadatos, como las consultas de patrones de índice y las consultas guardadas. Esta instancia interna no guarda datos empresariales y se puede considerar un detalle de implementación.
Para agregar la dependencia de Elasticsearch a Helm, ejecute estos comandos:
helm repo add elastic https://helm.elastic.co helm repo updatePara obtener el gráfico de K2Bridge del directorio de gráficos del repositorio de GitHub realice estas acciones:
Clonar el repositorio de GitHub.
Ir al directorio raíz del repositorio de K2Bridge.
Ejecute este comando:
helm dependency update charts/k2bridge
Implemente K2Bridge.
Establezca las variables en los valores correctos para su entorno.
ADX_URL=[YOUR_ADX_CLUSTER_URL] #For example, https://mycluster.westeurope.kusto.windows.net ADX_DATABASE=[YOUR_ADX_DATABASE_NAME] ADX_CLIENT_ID=[SERVICE_PRINCIPAL_CLIENT_ID] ADX_CLIENT_SECRET=[SERVICE_PRINCIPAL_CLIENT_SECRET] ADX_TENANT_ID=[SERVICE_PRINCIPAL_TENANT_ID]De forma opción, habilite la telemetría de Application Insights. Si es la primera vez que usa Azure Application Insights, cree un recurso de Application Insights. Copie la clave de instrumentación en una variable.
APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY] COLLECT_TELEMETRY=trueInstale el gráfico de K2Bridge.
helm install k2bridge charts/k2bridge -n k2bridge --set image.repository=$REPOSITORY_NAME/$CONTAINER_NAME --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set settings.aadClientId="$ADX_CLIENT_ID" --set settings.aadClientSecret="$ADX_CLIENT_SECRET" --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=latest] [--set privateRegistry="$IMAGE_PULL_SECRET_NAME"] [--set settings.collectTelemetry=$COLLECT_TELEMETRY]En Configuration (Configuración) puede encontrar el conjunto completo de opciones de configuración.
La salida del comando anterior sugiere el siguiente comando de Helm para implementar Kibana. Opcionalmente, ejecute este comando:
helm install kibana elastic/kibana -n k2bridge --set image=docker.elastic.co/kibana/kibana-oss --set imageTag=6.8.5 --set elasticsearchHosts=http://k2bridge:8080Use el reenvío de puertos para acceder a Kibana en localhost.
kubectl port-forward service/kibana-kibana 5601 --namespace k2bridgePara conectarse a Kibana, use la siguiente URL http://127.0.0.1:5601.
Exponga Kibana a los usuarios. Dispone de varios métodos para hacerlo. El mejor método dependerá en gran medida del caso de uso.
Por ejemplo, puede exponer el servicio como un servicio de Load Balancer. Para ello, agregue el parámetro --set service.type=LoadBalancer al comando install de Helm de Kibana anterior.
Luego, ejecute este comando:
kubectl get service -w -n k2bridgeEl resultado debe ser similar al siguiente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kibana-kibana LoadBalancer xx.xx.xx.xx <pending> 5601:30128/TCP 4m24sDespués, puede utilizar el valor de EXTERNAL-IP generado que aparece. Úselo para acceder a Kibana abriendo un explorador y yendo a <EXTERNAL-IP>:5601.
Configure patrones de índice para acceder a sus datos.
En una nueva instancia de Kibana:
- Abra Kibana.
- Vaya a Management (Administración).
- Seleccione Index Patterns (Patrones de índice).
- Cree un patrón de índice. El nombre del índice debe coincidir exactamente con el nombre de tabla o de función sin un asterisco (*). Puede copiar la línea correspondiente de la lista.
Nota
Para ejecutar K2Bridge en otros proveedores de Kubernetes, cambie el valor storageClassName de Elasticsearch en values.yaml para que se ajuste al que sugiere el proveedor.
Visualización de datos
Si Azure Data Explorer está configurado como un origen de datos para Kibana, puede usar Kibana para explorar los datos.
En Kibana, en el menú de la izquierda, seleccione la pestaña Discover (Descubrir).
En el cuadro de lista desplegable situado más a la izquierda, seleccione un patrón de índice. El patrón define el origen de datos que se desea explorar. En este caso, el patrón de índice es una tabla de Azure Data Explorer.

Si sus datos tienen un campo de filtro de tiempo, puede especificar el intervalo de tiempo. En la parte superior derecha de la página Discover (Detectar), seleccione un filtro de tiempo. De forma predeterminada, la página muestra los datos de los últimos 15 minutos.

La tabla de resultados muestra los primeros 500 registros. Puede expandir un documento para examinar los datos de sus campos en formato JSON o de tabla.

De manera predeterminada, la tabla de resultados incluye la columna _source. También incluye la columna Time, en caso de que exista el campo de tiempo. Para elegir columnas específicas para agregarlas a la tabla de resultados, seleccione add (Agregar) junto al nombre del campo en el panel de la izquierda.

En la barra de consulta, puede realizar las acciones siguientes para buscar los datos:
- Escribir un término de búsqueda.
- Usar la sintaxis de consulta de Lucene. Por ejemplo:
- Busque "error" para encontrar todos los registros que contienen este valor.
- Busque "estado: 200" para obtener todos los registros con un valor de estado de 200.
- Usar los operadores lógicos AND, OR y NOT.
- Usar los caracteres comodín asterisco (*) y signo de interrogación (?). Por ejemplo, la consulta "destination_city: L*" coincide con los registros en que el valor de destination-city comienza por "L" o "l" (K2Bridge no distingue mayúsculas de minúsculas).

Sugerencia
En Búsqueda, puede encontrar más reglas de búsqueda y lógica.
Para filtrar los resultados de la búsqueda, use la lista de campos del panel de la derecha de la página. La lista de campos es donde puede ver:
- Los primeros cinco valores del campo.
- El número de registros que contienen el campo.
- El porcentaje de registros que contienen cada valor.
Sugerencia
Use el icono de la lupa para buscar todos los registros que tienen un valor específico.

La lupa también se puede usar para filtrar los resultados y usar la vista en formato de tabla de cada registro en la tabla de resultados.

Seleccione las opciones Save (Guardar) o Share (Compartir) para la búsqueda.

