Conectarse a una fuente de datos de Azure Monitor - Amazon Managed Grafana

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conectarse a una fuente de datos de Azure Monitor

La fuente de datos de Azure Monitor admite varios servicios en la nube de Azure:

Agregar la fuente de datos

La fuente de datos puede acceder a las métricas de cuatro servicios diferentes. Puede configurar el acceso a los servicios que utiliza. También es posible usar las mismas credenciales para varios servicios si así es como lo ha configurado en Azure AD.

  1. Al acceder desde el menú principal de Grafana, las fuentes de datos recién instaladas se pueden agregar inmediatamente dentro de la sección Fuentes de datos. A continuación, pulse el botón Añadir fuente de datos en la esquina superior derecha. La fuente de datos de Azure Monitor estará disponible para su selección en la sección Nube de la lista de fuentes de datos.

  2. En el campo de nombre, Grafana rellenará automáticamente un nombre para la fuente de datos: Azure Monitor o algo así como. Azure Monitor - 3 Si está configurando varias fuentes de datos, cambie el nombre por uno más informativo.

  3. Si utiliza Azure Monitor, necesitará cuatro datos del portal de Azure (para obtener instrucciones detalladas, consulte el enlace proporcionado anteriormente):

    • ID de inquilino (Azure Active Directory, propiedades, ID de directorio)

    • ID de cliente (Azure Active Directory, registros de aplicaciones, elija su aplicación, ID de aplicación)

    • Secreto de cliente (Azure Active Directory, registros de aplicaciones, elija su aplicación, claves)

    • ID de suscripción predeterminado (suscripciones, elegir suscripción, descripción general, ID de suscripción)

  4. Pegue estos cuatro elementos en los campos de la sección de detalles de la API de Azure Monitor.

    • El identificador de suscripción se puede cambiar por consulta. Guarde la fuente de datos y actualice la página para ver la lista de suscripciones disponibles para el ID de cliente especificado.

  5. Si también utiliza el servicio Azure Log Analytics, debe especificar estos dos valores de configuración o volver a utilizar el ID de cliente y el secreto del paso anterior.

    • ID de cliente (Azure Active Directory, registros de aplicaciones, elija su aplicación, ID de aplicación)

    • Secreto de cliente (Azure Active Directory, registros de aplicaciones, elija su aplicación, claves, cree una clave, utilice el secreto de cliente)

  6. Si utiliza Application Insights, necesitará dos datos del Portal de Azure (para obtener instrucciones detalladas, consulte el enlace proporcionado anteriormente):

    • Application ID

    • Clave de API

  7. Pegue estos dos elementos en los campos correspondientes de la sección de detalles de la API de Application Insights.

  8. Compruebe que los detalles de configuración son correctos pulsando el botón Guardar y probar.

Como alternativa, en el paso 4, si va a crear una nueva aplicación de Azure Active Directory, utilice la CLI de Azure:

az ad sp create-for-rbac -n "http://localhost:3000"

Elegir un servicio

En el editor de consultas de un panel, después de elegir la fuente de datos de Azure Monitor, el primer paso es seleccionar un servicio. Hay cuatro opciones:

  • Azure Monitor

  • Application Insights

  • Azure Log Analytics

  • Insights Analytics

El editor de consultas cambia en función de la opción que seleccione. Azure Monitor es el predeterminado.

Consultando el servicio Azure Monitor

El servicio Azure Monitor proporciona métricas para todos los servicios de Azure que está ejecutando. Le ayuda a comprender el rendimiento de sus aplicaciones en Azure y detecta de forma proactiva los problemas que afectan a las aplicaciones.

Si sus credenciales de Azure Monitor le dan acceso a varias suscripciones, elija primero la suscripción adecuada.

Algunos ejemplos de métricas que puede obtener del servicio son:

  • Microsoft.Compute/virtualMachines - Percentage CPU

  • Microsoft.Network/networkInterfaces - Bytes sent

  • Microsoft.Storage/storageAccounts - Used Capacity

El editor de consultas te permite consultar múltiples dimensiones en busca de métricas que las respalden. Las métricas que admiten varias dimensiones son las que figuran en la lista de métricas compatibles con Azure Monitor y que tienen uno o varios valores en la columna Dimensión de la métrica.

Formatear las claves de leyenda con alias para Azure Monitor

El formato de leyenda predeterminado para la API de Azure Monitor es:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Pueden ser largos, pero puede cambiar este formato mediante alias. En el campo Formato de leyenda, puede combinar los siguientes alias de la forma que desee.

Ejemplos de Azure Monitor:

  • Blob Type: {{ blobtype }}

  • {{ resourcegroup }} - {{ resourcename }}

Patrones de alias para Azure Monitor

  • {{ resourcegroup }}= reemplazado por el valor del grupo de recursos

  • {{ namespace }}= reemplazado por el valor del espacio de nombres (por ejemplo, Microsoft.Compute/VirtualMachines)

  • {{ resourcename }}= reemplazado por el valor del nombre del recurso

  • {{ metric }}= reemplazado por el nombre de la métrica (por ejemplo, porcentaje de CPU)

  • {{ dimensionname }}= La versión antigua de 7.1+ (por motivos de compatibilidad con versiones anteriores) se sustituyó por la clave/etiqueta de la primera dimensión (ordenada por la clave/etiqueta) (por ejemplo, blobtype)

  • {{ dimensionvalue }}= La versión antigua a partir de la versión 7.1+ (por motivos de compatibilidad con versiones anteriores) se sustituyó por el valor de la primera dimensión (ordenado por la clave/etiqueta) (por ejemplo,) BlockBlob

  • {{ arbitraryDim }}= Disponible en 7.1+ reemplazado por el valor de la dimensión correspondiente. (por ejemplo, {{ blobtype }} se convierte en) BlockBlob

Crear variables de plantilla para Azure Monitor

En lugar de codificar elementos como el nombre del servidor, la aplicación y el sensor en las consultas de métricas, puede utilizar variables en su lugar. Las variables se muestran como cuadros de selección desplegables en la parte superior del panel de control. Puedes usar estos cuadros desplegables para cambiar los datos que se muestran en tu panel de control.

Tenga en cuenta que el servicio Azure Monitor aún no admite varios valores. Para visualizar varias series temporales (por ejemplo, las métricas del servidor1 y del servidor2), agregue varias consultas para poder verlas en el mismo gráfico o en la misma tabla.

El complemento de fuente de datos de Azure Monitor proporciona las siguientes consultas que puede especificar en el campo Consulta de la vista de edición de variables. Puede utilizarlos para rellenar la lista de opciones de una variable.

Nombre Descripción
Subscriptions() Devuelve una lista de suscripciones.
ResourceGroups() Devuelve una lista de grupos de recursos.
ResourceGroups(12345678-aaaa-bbbb-cccc-123456789aaa) Devuelve una lista de grupos de recursos para una suscripción específica.
Namespaces(aResourceGroup) Devuelve una lista de espacios de nombres para el grupo de recursos especificado.
Namespaces(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup) Devuelve una lista de espacios de nombres para el grupo de recursos y la suscripción especificados.
ResourceNames(aResourceGroup, aNamespace) Devuelve una lista de nombres de recursos.
ResourceNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace) Devuelve una lista de nombres de recursos para una suscripción específica.
MetricNamespace(aResourceGroup, aNamespace, aResourceName) Devuelve una lista de espacios de nombres métricos.
MetricNamespace(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Devuelve una lista de espacios de nombres métricos para una suscripción específica.
MetricNames(aResourceGroup, aNamespace, aResourceName) Devuelve una lista de nombres de métricas.
MetricNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Devuelve una lista de nombres de métricas para una suscripción específica.

Ejemplos:

  • Consulta de Resource Groups: ResourceGroups()

  • Pasar la variable de nombre de la métrica: Namespaces(cosmo)

  • Encadenar variables de plantilla: ResourceNames($rg, $ns)

  • No cite los parámetros: MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)

Para obtener más información sobre las plantillas y las variables de plantilla, consultePlantillas.

Lista de métricas de Azure Monitor compatibles

No todas las métricas devueltas por la API de Azure Monitor tienen valores. Para facilitar la creación de una consulta, la fuente de datos de Grafana tiene una lista de métricas de Azure Monitor compatibles e ignora las métricas que nunca tendrán valores. Esta lista se actualiza periódicamente a medida que se agregan nuevos servicios y métricas a la nube de Azure.

Alertas de Azure Monitor

Las alertas de Grafana son compatibles con el servicio Azure Monitor. Esto no es compatible con Azure Alerts. Para obtener más información sobre las alertas de Grafana, consulte. Alertas de Grafana

Consultando el servicio Application Insights

Formatear las claves de las leyendas con alias para Application Insights

El formato de leyenda predeterminado es:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

En el campo Formato de leyenda, los siguientes alias se pueden combinar de la forma que desee.

Ejemplos de Application Insights:

  • city: {{ client/city }}

  • {{ metric }} [Location: {{ client/countryOrRegion }}, {{ client/city }}]

Patrones de alias para Application Insights

  • {{ groupbyvalue }}= Legacy a partir de Grafana 7.1+ (por compatibilidad con versiones anteriores) reemplazado por la clave/etiqueta de la primera dimensión (ordenada por la clave/etiqueta)

  • {{ groupbyname }}= Legacy a partir de Grafana 7.1+ (por compatibilidad con versiones anteriores) reemplazado por el valor de la primera dimensión (ordenado por la clave/etiqueta) (por ejemplo,) BlockBlob

  • {{ metric }}= reemplazado por el nombre de la métrica (por ejemplo, solicitudes/recuento)

  • {{ arbitraryDim }}= Disponible en versión 7.1 o superior, sustituida por el valor de la dimensión correspondiente. (por ejemplo, {{ client/city }} se convierte en Chicago)

Filtre las expresiones para obtener información sobre aplicaciones

El campo de filtro toma una expresión de filtro de OData.

Ejemplos:

  • client/city eq 'Boydton'

  • client/city ne 'Boydton'

  • client/city ne 'Boydton' and client/city ne 'Dublin'

  • client/city eq 'Boydton' or client/city eq 'Dublin'

Creación de plantillas con variables para Application Insights

Utilice una de las siguientes consultas en el campo Consulta de la vista de edición de variables.

Para obtener más información sobre las plantillas y las variables de plantilla, consultePlantillas.

Nombre Descripción
AppInsightsMetricNames() Devuelve una lista de nombres de métricas.
AppInsightsGroupBys(aMetricName) Devuelve una lista de group by cláusulas para el nombre de la métrica especificada.

Ejemplos:

  • Consulta de nombres de métricas: AppInsightsMetricNames()

  • Pasando la variable de nombre de la métrica: AppInsightsGroupBys(requests/count)

  • Encadenar variables de plantilla: AppInsightsGroupBys($metricnames)

Alertas de Application Insights

Application Insights admite las alertas de Grafana. Esto no es compatible con Azure Alerts. Para obtener más información sobre las alertas de Grafana, consulte. Alertas de Grafana

Consultando el servicio Azure Log Analytics

Las consultas se escriben en el nuevo lenguaje de consultas de Azure Log Analytics (o KustoDB). Una consulta de Log Analytics se puede formatear como datos de series temporales o como datos de tabla.

Si sus credenciales le dan acceso a varias suscripciones, elija la suscripción adecuada antes de introducir las consultas.

Consultas de series temporales

Las consultas de series temporales son para el panel de gráficos y para otros paneles, como el SingleStat panel. Cada consulta debe contener al menos una columna de fecha y hora y una columna de valores numéricos. El resultado debe ordenarse en orden ascendente por la columna de fecha y hora.

El siguiente ejemplo de código muestra una consulta que devuelve el recuento agregado agrupado por hora.

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h) | order by TimeGenerated asc

Una consulta también puede tener una o más columnas no numéricas ni de fecha y hora, y esas columnas se consideran dimensiones y se convierten en etiquetas en la respuesta. Por ejemplo, una consulta que devuelva el recuento agregado agrupado por hora, equipo y. CounterName

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h), Computer, CounterName | order by TimeGenerated asc

También puede seleccionar columnas de valores numéricos adicionales (con o sin varias dimensiones). Por ejemplo, obtener un recuento y un valor promedio por hora CounterName, ordenador y InstanceName:

Perf | where $__timeFilter(TimeGenerated) | summarize Samples=count(), ["Avg Value"]=avg(CounterValue) by bin(TimeGenerated, $__interval), Computer, CounterName, InstanceName | order by TimeGenerated asc
nota

Consejo: En la consulta anterior, se utilizan la sintaxis de Kusto y se Samples=count() ["Avg Value"]=... utilizan para cambiar el nombre de esas columnas; la segunda sintaxis tiene en cuenta el espacio. Esto cambia el nombre de la métrica que utiliza Grafana. Como resultado, elementos como las leyendas de las series y las columnas de las tablas coincidirán con lo que especifique. En este ejemplo, Samples se muestra en lugar de_count.

Consultas de tabla

Las consultas de tabla se utilizan principalmente en el panel de tablas y muestran una lista de columnas y filas. Esta consulta de ejemplo devuelve filas con las seis columnas especificadas.

AzureActivity | where $__timeFilter() | project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller | order by TimeGenerated desc

Formatear el nombre para mostrar de Log Analytics

El formato de nombre para mostrar predeterminado es:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Se puede personalizar mediante la opción de campo de nombre para mostrar.

Macros de Azure Log Analytics

Para facilitar la redacción de consultas, Grafana proporciona varias macros que puede usar en la cláusula where de una consulta:

  • $__timeFilter()— Se expande hasta TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z) donde están las fechas de origen y destino del selector de hora de Grafana.

  • $__timeFilter(datetimeColumn)— Se expande hasta datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z) donde están las fechas de origen y destino del selector de hora de Grafana.

  • $__timeFrom()— Devuelve la fecha y hora desde el selector de Grafana. Ejemplo:datetime(2018-06-05T18:09:58.907Z).

  • $__timeTo()— Devuelve la fecha y hora desde el selector de Grafana. Ejemplo:datetime(2018-06-05T20:09:58.907Z).

  • $__escapeMulti($myVar)— se debe utilizar con variables de plantilla con varios valores que contengan caracteres no válidos. Si $myVar tiene los siguientes dos valores como cadena'\\grafana-vm\Network(eth0)\Total','\\hello!', entonces se expande a:@'\\grafana-vm\Network(eth0)\Total', @'\\hello!'. Si utiliza variables de un solo valor, no es necesaria esta macro, escape de la variable en línea en su lugar:@'\$myVar'.

  • $__contains(colName, $myVar)— se debe utilizar con variables de plantilla de valores múltiples. Si $myVar tiene el valor'value1','value2', se expande a:colName in ('value1','value2').

    Si utiliza la opción Todos, active la casilla de verificación Incluir todas las opciones y, en el campo Personalizar todos los valores, introduzca el siguiente valor:all. Si $myVar tiene el valorall, la macro se expandirá hasta1 == 1. En el caso de las variables de plantilla con numerosas opciones, esto aumenta el rendimiento de la consulta, ya que no se crea una cláusula extensa que diga «where.. in».

Variables integradas de Azure Log Analytics

También hay algunas variables de Grafana que se pueden usar en las consultas de Azure Log Analytics:

  • $__interval- Grafana calcula el intervalo de tiempo mínimo que se puede utilizar para agrupar por tiempo en las consultas. Devuelve un intervalo de tiempo como, por ejemplo, 5m o 1h que se puede utilizar en la función bin; por ejemplo,summarize count() by bin(TimeGenerated, $__interval). Para obtener más información sobre las variables de intervalo, consulteAñadir una variable de intervalo.

Creación de plantillas con variables para Azure Log Analytics

Cualquier consulta de Log Analytics que devuelva una lista de valores se puede usar en el campo Consulta de la vista de edición de variables. También hay una función de Grafana para Log Analytics que devuelve una lista de espacios de trabajo.

Para obtener información sobre las plantillas y las variables de plantilla, consulte. Plantillas y variables

Nombre Descripción
workspaces() Devuelve una lista de los espacios de trabajo de la suscripción predeterminada.
workspaces(12345678-aaaa-bbbb-cccc-123456789aaa) Devuelve una lista de los espacios de trabajo de la suscripción especificada (el parámetro puede estar entre comillas o sin comillas).

En la siguiente tabla se muestran ejemplos de consultas de variables.

Consultar Descripción
subscriptions() Devuelve una lista de suscripciones de Azure.
workspaces() Devuelve una lista de los espacios de trabajo de la suscripción predeterminada.
workspaces("12345678-aaaa-bbbb-cccc-123456789aaa") Devuelve una lista de los espacios de trabajo de una suscripción específica.
workspaces("$subscription") Con una variable de plantilla para el parámetro de suscripción.
workspace("myWorkspace").Heartbeat \| distinct Computer Devuelve una lista de máquinas virtuales.
workspace("$workspace").Heartbeat \| distinct Computer Devuelve una lista de máquinas virtuales con una variable de plantilla.
workspace("$workspace").Perf \| distinct ObjectName Devuelve una lista de objetos de la tabla Perf.
workspace("$workspace").Perf \| where ObjectName == "$object" \| distinct CounterName Devuelve una lista de nombres de métricas de la tabla Perf.

En el siguiente ejemplo de código se muestra una consulta de series temporales con variables.

Perf | where ObjectName == "$object" and CounterName == "$metric" | where TimeGenerated >= $__timeFrom() and TimeGenerated <= $__timeTo() | where $__contains(Computer, $computer) | summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer | order by TimeGenerated asc

Enlaces profundos desde los paneles de Grafana al editor de consultas de Log Analytics en Azure Portal

Elija una serie temporal en el panel para ver un menú contextual con un enlace a Ver en Azure Portal. Al elegir ese enlace, se abre el editor de consultas de Azure Log Analytics en Azure Portal y se ejecuta la consulta desde el panel de Grafana.

Si actualmente no ha iniciado sesión en Azure Portal, el enlace abre la página de inicio de sesión. El enlace proporcionado es válido para cualquier cuenta, pero solo muestra la consulta si su cuenta tiene acceso al espacio de trabajo de Azure Log Analytics especificado en la consulta.

Alertas de Azure Log Analytics

Application Insights admite las alertas de Grafana. Esto no es compatible con Azure Alerts. Para obtener más información sobre las alertas en los espacios de trabajo de Grafana, consulte. Alertas de Grafana

Consultando el servicio Application Insights Analytics

Si cambia el tipo de servicio a Insights Analytics, estará disponible un editor similar al servicio Log Analytics. Este servicio también utiliza el lenguaje Kusto, por lo que las instrucciones para consultar los datos son idénticas a las de Application Insights AnalyticsConsultando el servicio Azure Log Analytics, excepto que en su lugar se consultan los datos de Application Insights Analytics.