Visualización de datos desde Azure Data Explorer en Grafana

Grafana es una plataforma de análisis que permite consultar y visualizar datos y crear y compartir paneles basados en las visualizaciones. Grafana proporciona un complemento para Azure Data Explorer, que permite conectarse a datos desde Azure Data Explorer y visualizarlos. En este artículo, aprenderá a configurar Azure Data Explorer como origen de datos de Grafana y a visualizarlos después desde un clúster de ejemplo.

Use el vídeo siguiente para aprender a usar el complemento Azure Data Explorer de Grafana, configurar Azure Data Explorer como origen de datos de Grafana y, después, visualizar los datos.

En su lugar, puede configurar el origen de datos y visualizar los datos como se detalla en el artículo siguiente.

Prerequisites

El conjunto de datos de ejemplo de StormEvents contiene datos relacionados con el tiempo de los National Centers for Environmental Information.

Configuración del origen de datos

Realice los pasos siguientes para configurar Azure Data Explorer como origen de datos para la herramienta de panel. Trataremos estos pasos con más detalle en esta sección:

  1. Cree una entidad de servicio de Azure Active Directory (Azure AD). La herramienta de panel usa la entidad de servicio para acceder al servicio de Azure Data Explorer.

  2. Agregue la entidad de servicio de Azure AD al rol visores en la base de datos de Azure Data Explorer.

  3. Especifique las propiedades de conexión de la herramienta de panel en función de la información de la entidad de servicio de Azure AD y, después, pruebe la conexión.

Creación de una entidad de servicio

Puede crear la entidad de servicio en Azure Portal o mediante la experiencia de línea de comandos de la CLI de Azure. Independientemente del método que utilice, después de crear la entidad, obtendrá los valores de cuatro propiedades de conexión que usará en pasos posteriores.

Portal de Azure

  1. Para crear la entidad de servicio, siga las instrucciones de la documentación de Azure Portal.

    1. En la sección Asignación de la aplicación a un rol, asigne un tipo de rol de lector al clúster de Azure Data Explorer.

    2. En la sección Obtención de valores para iniciar sesión, copie los tres valores de propiedad indicados en los pasos: Id. de directorio (Id. de inquilino), Id. de aplicación y Contraseña.

  2. En Azure Portal, seleccione Suscripciones y copie el identificador de la suscripción en la que creó la entidad de servicio.

    Id. de suscripción (Azure Portal).

Azure CLI

  1. Crear una entidad de servicio. Establezca un ámbito adecuado y un tipo de rol de reader.

    az ad sp create-for-rbac --name "https://{UrlToYourDashboard}:{PortNumber}" --role "reader" \
                             --scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
    

    Para más información, vea Creación de una entidad de servicio de Azure con la CLI de Azure.

  2. El comando devuelve un conjunto de resultados similar al siguiente. Copie los tres valores de propiedad: id_aplicación, contraseña e inquilino.

    {
      "appId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "displayName": "{UrlToYourDashboard}:{PortNumber}",
      "name": "https://{UrlToYourDashboard}:{PortNumber}",
      "password": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
    }
    
  3. Obtenga una lista de las suscripciones.

    az account list --output table
    

    Copie el identificador de suscripción apropiado.

    Id. de suscripción (CLI).

Adición de la entidad de servicio al rol visores

Ahora que ya tiene una entidad de servicio, agréguela al rol visores en la base de datos de Azure Data Explorer. Puede realizar esta tarea en Permisos en Azure Portal o en Consulta mediante un comando de administración.

Azure Portal (Permisos)

  1. En Azure Portal, vaya al clúster de Azure Data Explorer.

  2. En la sección Introducción, seleccione la base de datos con los datos de ejemplo de StormEvents.

    Seleccione base de datos.

  3. Seleccione Permisos y luego Agregar.

    Permisos de base de datos.

  4. En Add database permissions (Agregar permisos de base de datos), seleccione el rol Visor y después Select principals (Seleccionar entidades).

    Agregar permisos de base de datos.

  5. Busque la entidad de servicio que se ha creado. Seleccione la entidad y después Seleccionar.

    Captura de pantalla del panel Nuevas entidades de seguridad de Azure Portal. Están resaltados el botón Seleccionar y dos campos con propiedades de la entidad de servicio que no se pueden descifrar.

  6. Seleccione Guardar.

    Captura de pantalla del panel Add Database Permissions (Agregar permisos de base de datos) de Azure Portal. El botón Guardar está resaltado.

Comando de administración (Consulta)

  1. En Azure Portal, vaya al clúster de Azure Data Explorer y seleccione Consulta.

    Captura de pantalla de un clúster de Azure Data Explorer en Azure Portal. Está resaltado el elemento Consulta.

  2. Ejecute el comando siguiente en la ventana de consulta. Use el identificador de la aplicación y el identificador de inquilino de Azure Portal o la CLI.

    .add database {TestDatabase} viewers ('aadapp={ApplicationID};{TenantID}')
    

    El comando devuelve un conjunto de resultados similar al siguiente. En este ejemplo, la primera fila es para un usuario existente en la base de datos y la segunda fila es para la entidad de servicio que se acaba de agregar.

    Conjunto de resultados.

Especificar propiedades y probar la conexión

Con la entidad de servicio asignada al rol visores, ahora puede especificar propiedades en la instancia de Grafana y probar la conexión a Azure Data Explorer.

  1. En Grafana, en el menú izquierdo, seleccione el icono de engranaje y, a continuación, Data Sources (Orígenes de datos).

    Orígenes de datos.

  2. Seleccione Add data source(Agregar origen de datos).

  3. En la página Data Sources / New (Orígenes de datos / Nuevo), escriba un nombre para el origen de datos y, a continuación, seleccione el tipo Azure Data Explorer Datasource (Origen de datos de Azure Data Explorer).

    Nombre y tipo de conexión.

  4. En Configuraciónconnection details (Detalles de conexión), escriba el nombre del clúster con el formato https://{ClusterName}.{ Región}.kusto.windows.net. Especifique los demás valores desde Azure Portal o la CLI. Consulte la tabla debajo de la imagen siguiente para una asignación.

    Propiedades de conexión.

    UI de Grafana Azure portal CLI de Azure
    Id. de suscripción ID. DE SUSCRIPCIÓN SubscriptionId
    Identificador de inquilino Identificador de directorio tenant
    Id. de cliente Identificador de aplicación appId
    Secreto del cliente Contraseña password
  5. Seleccione Guardar prueba.

    Si la prueba se realiza correctamente, vaya a la sección siguiente. Si tiene algún problema, compruebe los valores especificados en Grafana y revise los pasos anteriores.

Optimización de consultas

Hay dos características que se pueden usar para la optimización de las consultas:

Para realizar la optimización, en Data SourcesConfiguraciónQuery Optimizations(Optimizaciones de consultas), realice los cambios necesarios.

Panel de optimización de consultas.

Optimización del rendimiento de la representación de las consultas en el panel mediante el almacenamiento en caché de los resultados de la consulta

Cuando un panel o un objeto visual se representan más de una vez por parte de uno o varios usuarios, Grafana, de forma predeterminada, envía al menos una consulta a Azure Data Explorer. Habilite Query results caching (Almacenamiento en caché de los resultados de la consulta) para mejorar el rendimiento de la representación del panel y reducir la carga en el clúster de Azure Data Explorer. Durante el intervalo de tiempo especificado, Azure Data Explorer usará la memoria caché de resultados para recuperar los resultados anteriores y no ejecutará una consulta innecesaria. Esta funcionalidad es especialmente eficaz para reducir la carga en los recursos y mejorar el rendimiento cuando varios usuarios usan el mismo panel.

Para habilitar la representación de la memoria caché de resultados, realice lo siguiente en el panel Query Optimizations (Optimizaciones de consultas):

  1. Deshabilite Use dynamic caching (Usar almacenamiento en caché dinámico).
  2. En Cache Max Age (Vigencia máxima de la memoria caché), especifique el número de minutos durante los cuales desea utilizar los resultados almacenados en caché.

Habilitación de la coherencia débil

Los clústeres están configurados con coherencia segura. Esto garantiza que los resultados de la consulta estén actualizados con todos los cambios del clúster. Al habilitar la coherencia débil, los resultados de la consulta pueden tener un retraso de 1 a 2 minutos después de las modificaciones del clúster. Por otro lado, la coherencia débil puede mejorar el tiempo de la representación visual. Por lo tanto, si la coherencia inmediata no es crítica y el rendimiento es marginal, habilite la coherencia débil para mejorar el rendimiento. Para más información sobre la coherencia de las consultas, consulte Coherencia de consultas.

Para habilitar la coherencia débil, en el panel Optimizaciones de consultasCoherencia de datos,seleccione Débil.

Visualización de datos

Ahora que ya ha terminado de configurar Azure Data Explorer como origen de datos para Grafana, es el momento de visualizar los datos. Vamos a mostrar un ejemplo básico con el modo del generador de consultas y el modo Raw del editor de consultas. Se recomienda revisar Escribir consultas para Azure Data Explorer para obtener ejemplos de otras consultas ejecutadas en el conjunto de datos de ejemplo.

  1. En Grafana, en el menú izquierdo, seleccione el icono del signo más y después Dashboard (Panel).

    Crear panel.

  2. En la pestaña Add (Agregar), seleccione Add new panel (Agregar nuevo panel).

    Agregar gráfico.

  3. En el panel de gráfico, seleccione Panel Title (Título del panel) y después Edit (Editar).

    Editar panel.

  4. En la parte inferior del panel, seleccione Data Source (Origen de datos) y después seleccione el origen de datos que ha configurado.

    Seleccione origen de datos.

Modo Generador de consultas

El editor de consultas tiene dos modos. El modo Generador de consultas y el modo Raw. Utilice el modo Generador de consultas para definir la consulta.

  1. Debajo del origen de datos, seleccione Database (Base de datos) y elija la base de datos en la lista desplegable.

  2. Seleccione From (Desde) y elija la tabla en la lista desplegable.

    Selección de una tabla en el generador de consultas.

  3. Una vez definida la tabla, filtre los datos, seleccione los valores que se van a presentar y defina la agrupación de esos valores.

    Filtrar

    1. Haga clic en + a la derecha de + (Donde [filtro]) para seleccionar en la lista desplegable una o más columnas de la tabla.
    2. Para cada filtro, defina los valores mediante el operador aplicable. Esta selección es similar a usar el operador where en el lenguaje de consulta Kusto.

    Selección de valores

    1. Haga clic en + a la derecha de + (Columnas de valores) para seleccionar en el desplegable las columnas de valores que se mostrarán en el panel.
    2. Para cada columna de valores, establezca el tipo de agregación. Se pueden establecer una o varias columnas de valores. Esta selección es equivalente a usar el operador summarize (resumir).

    Agrupación de valores
    Haga clic en + a la derecha de + (Agrupar por [resumir]) para seleccionar en la lista desplegable una o más columnas que se utilizarán para organizar los valores en grupos. Esto es equivalente a la expresión group en el operador summarize.

  4. Para ejecutar la consulta, seleccione Run query (Ejecutar consulta).

    Generador de consultas con todos los valores completados.

    Sugerencia

    Al finalizar la configuración del generador de consultas, se crea una consulta del lenguaje de consulta Kusto. Esta consulta muestra la lógica que ha creado con el editor de consultas gráfico.

  5. Seleccione Edit KQL (Editar KQL) para pasar al modo Raw y editar la consulta con la flexibilidad y la eficacia del lenguaje de consulta Kusto.

Generador de consultas con consulta en modo Raw.

Modo Raw

Use el modo Raw para editar la consulta.

  1. En el panel de consulta, copie la siguiente consulta y después seleccione Run Query (Ejecutar consulta). La consulta desglosa el recuento de eventos por día para el conjunto de datos de ejemplo.

    StormEvents
    | summarize event_count=count() by bin(StartTime, 1d)
    

    Ejecute la consulta.

  2. El gráfico no muestra ningún resultado porque su ámbito predeterminado son los datos de las seis últimas horas. En el menú superior, seleccione Last 6 hours (Últimas 6 horas).

    Últimas seis horas.

  3. Especifique un intervalo personalizado que abarque 2007, el año incluido en el conjunto de datos de ejemplo StormEvents. Seleccione Aplicar.

    Personalizar intervalo de fechas.

    Ahora el gráfico muestra los datos de 2007, desglosados por días.

    Gráfico finalizado.

  4. En el menú superior, seleccione el icono guardar: Icono Guardar.

Importante

Para cambiar al modo del generador de consultas, seleccione Switch to builder (Cambiar al generador de consultas). Grafana convertirá la consulta en la lógica disponible en el generador de consultas. La lógica del generador de consultas es limitada y, por lo tanto, puede perder los cambios manuales realizados en la consulta.

Cambio al generador desde el modo Raw.

Creación de alertas

  1. En Panel principal, seleccione Canales de notificaciónde alertas para crear un nuevo canal de notificación.

    Creación de un canal de notificación.

  2. Cree un Canal de notificación y, luego, elija Guardar.

    Creación de un nuevo canal de notificación.

  3. En el Panel, seleccione Editar en el menú desplegable.

    Seleccionar Editar en el panel.

  4. Seleccione el icono de campana de alerta para abrir el panel Alertar. Seleccione Crear alerta. Complete estas propiedades en el panel Alerta.

    propiedades de alerta.

  5. Seleccione el icono Save dashboard (Guardar panel) para guardar los cambios.

Pasos siguientes