Monitor Azure Functions

En este artículo se describe:

  • Los tipos de datos de supervisión que puede recopilar para este servicio.
  • Formas de analizar esos datos.

Nota:

Si ya está familiarizado con este servicio o Azure Monitor y solo quiere saber cómo analizar los datos de supervisión, consulte la sección Analizar cerca del final de este artículo.

Cuando tenga aplicaciones críticas y procesos empresariales que dependan de los recursos de Azure, deberá supervisar y obtener alertas para el sistema. El servicio Azure Monitor recopila y agrega métricas y registros de todos los componentes del sistema. Azure Monitor proporciona una vista de la disponibilidad, el rendimiento y la resistencia, y le notifica los problemas. Puede usar Azure Portal, PowerShell, la CLI de Azure, la API de REST o las bibliotecas cliente para configurar y ver los datos de supervisión.

Información detallada

Algunos servicios de Azure tienen un panel de supervisión integrado en Azure Portal que proporciona un punto de partida para supervisar el servicio. Estos paneles se denominan información, y puede encontrarlos en el Centro de información de Azure Monitor en Azure Portal.

Application Insights

Azure Functions ofrece integración integrada con Application Insights para supervisar las ejecuciones de funciones. Para obtener información detallada sobre cómo integrar, configurar y usar Application Insights para supervisar Azure Functions, consulte los siguientes artículos:

Tipos de recursos

Azure usa el concepto de tipos de recursos e identificadores para identificar todo el contenido de una suscripción. De forma similar, Azure Monitor organiza los datos principales de supervisión en métricas y registros en función de tipos de recursos, que también se denominan espacios de nombres. Hay diferentes métricas y registros disponibles para distintos tipos de recursos. Es posible que el servicio esté asociado a más de un tipo de recurso.

Los tipos de recursos también forman parte de los identificadores de recursos para cada recurso que se ejecuta en Azure. Por ejemplo, un tipo de recurso para una máquina virtual es Microsoft.Compute/virtualMachines. Para obtener una lista de los servicios y sus tipos de recursos asociados, consulte Proveedores de recursos.

Para más información sobre los tipos de recursos para Azure Functions, consulte la referencia de datos de supervisión de Azure Functions.

Almacenamiento de datos

Para Azure Monitor:

  • Los datos de métricas se almacenan en la base de datos de métricas de Azure Monitor.
  • Los datos de registro se almacenan en el almacén de registros de Azure Monitor. Log Analytics es una herramienta de Azure Portal que puede hacer consultas en este almacén.
  • El registro de actividad de Azure es un almacén independiente con su propia interfaz en Azure Portal.

Opcionalmente, puede enrutar los datos del registro de actividad y las métricas al almacén de registros de Azure Monitor. A continuación, puede usar Log Analytics para consultar los datos y correlacionarlos con otros datos de registro.

Muchos servicios pueden usar la configuración de diagnóstico para enviar datos de métricas y de registro a otras ubicaciones de almacenamiento fuera de Azure Monitor. Algunos ejemplos son Azure Storage, sistemas de asociados hospedados y sistemas de asociados que no son de Azure mediante Event Hubs.

Para obtener información detallada sobre cómo Azure Monitor almacena datos, consulte Plataforma de datos de Azure Monitor.

Métricas de plataforma de Azure Monitor

Azure Monitor proporciona métricas de plataforma para la mayoría de los servicios. Estas son las métricas:

  • Se define individualmente para cada espacio de nombres.
  • Almacenado en la base de datos de métricas de serie temporal de Azure Monitor.
  • Ligero y capaz de admitir alertas casi en tiempo real.
  • Se usa para supervisar el rendimiento de un recurso a lo largo del tiempo.

Recopilación: Azure Monitor recopila automáticamente las métricas de la plataforma. No se requiere ninguna configuración.

Enrutamiento: también puede enrutar las métricas de la plataforma a registros de Azure Monitor o Log Analytics para poder consultarlas con otros datos de registro. Para más información, consulta el valor Diagnóstico de métricas. Para obtener información sobre cómo configurar las opciones de diagnóstico de un servicio, consulta Creación de valores de diagnóstico en Azure Monitor.

Para obtener una lista de todas las métricas que es posible recopilar para todos los recursos de Azure Monitor, consulte Métricas admitidas en Azure Monitor.

Para obtener una lista de las métricas disponibles para Azure Functions, consulte la referencia de datos de supervisión de Azure Functions.

Nota:

Las métricas de App Service (Microsoft.Web/sites) no están disponibles cuando la aplicación de funciones se ejecuta en Linux en un plan de consumo.

Registros de recursos de Azure Monitor

Los registros de recursos proporcionan información sobre las operaciones realizadas por un recurso de Azure. Los registros se generan automáticamente, pero debe enrutarlos a los registros de Azure Monitor para guardarlos o consultarlos. Los registros se organizan en categorías. Un espacio de nombres determinado puede tener varias categorías de registro de recursos.

Recopilación: los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico y se enrutan los registros a una o varias ubicaciones. Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar. Hay varias maneras de crear y mantener la configuración de diagnóstico, como Azure Portal, hacerlo mediante programación o usar Azure Policy.

Enrutamiento: el valor predeterminado sugerido es enrutar los registros de recursos a los registros de Azure Monitor para poder consultarlos con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información, consulte los Registros de recursos de Azure y los Destinos de registro de recursos.

Para obtener información detallada sobre cómo recopilar, almacenar y enrutar registros de recursos, consulte Configuración de diagnóstico en Azure Monitor.

Para obtener una lista de todas las categorías de registro de recursos disponibles en Azure Monitor, consulte Registros de recursos admitidos en Azure Monitor.

Todos los registros de recursos de Azure Monitor tienen los mismos campos de encabezado, seguidos de campos específicos del servicio. El esquema común se describe en Esquema de registros de recursos de Azure Monitor.

Azure Functions se integra con los registros de Azure Monitor para supervisar las funciones. Para obtener instrucciones detalladas sobre cómo configurar las opciones de diagnóstico para configurar y enrutar los registros de recursos, consulte Crear opciones de diagnóstico en Azure Monitor.

Captura de pantalla de la adición de una configuración de diagnóstico para Azure Functions.

Para las categorías de registro de recursos disponibles, sus tablas de Log Analytics asociadas y los esquemas de registros para Azure Functions, consulte la referencia de datos de supervisión de Azure Functions.

Registro de actividades de Azure

El registro de actividad contiene eventos de nivel de suscripción que realizan el seguimiento de las operaciones de cada recurso de Azure, tal como se ve desde fuera de ese recurso; por ejemplo, crear un recurso o iniciar una máquina virtual.

Recopilación: los eventos del registro de actividad se generan y recopilan automáticamente en un almacén independiente para su visualización en Azure Portal.

Enrutamiento: puedes enviar datos del registro de actividad a los registros de Azure Monitor para poder analizarlos junto con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información sobre cómo enrutar el registro de actividad, consulte Información general del registro de actividad de Azure.

Otros registros

Azure Functions también ofrece la capacidad de recopilar más que los registros de recursos de Azure Monitor. Para ver un flujo casi en tiempo real de los archivos de registro de aplicaciones generados por la función que se ejecuta en Azure, puede conectarse a Application Insights y usar Live Metrics Stream. O bien, puede usar la transmisión de registros integrada de la plataforma de App Service para ver un flujo de archivos de registro de aplicaciones. Para más información, consulte Habilitar los registros de ejecución de streaming en Azure Functions.

Analizar los datos de supervisión

Hay muchas herramientas para analizar los datos de supervisión.

Herramientas de Azure Monitor

Azure Monitor admite las siguientes herramientas básicas:

Entre las herramientas que permiten una visualización más compleja se incluyen:

  • Paneles que permiten combinar diferentes tipos de datos en un único panel de Azure Portal.
  • Libros: informes personalizables que se pueden crear en Azure Portal. Los libros pueden incluir texto, métricas y consultas de registro.
  • Grafana: una herramienta de plataforma abierta que se destaca en los paneles operativos. Puede usar Grafana para crear paneles que incluyan datos de varios orígenes distintos de Azure Monitor.
  • Power BI: un servicio de análisis empresarial que proporciona visualizaciones interactivas en varios orígenes de datos. Puede configurar Power BI para que los datos de registro se importen automáticamente desde Azure Monitor y utilizar estas otras adicionales.

Herramientas de exportación de Azure Monitor

Puede obtener datos de Azure Monitor en otras herramientas mediante los siguientes métodos:

Para empezar a trabajar con la API de REST para Azure Monitor, consulte Tutorial de la API de REST de supervisión de Azure.

Análisis de métricas para Azure Functions

En los ejemplos siguientes se usan métricas de Azure Monitor para ayudar a calcular el costo de ejecutar la aplicación de funciones en un plan de consumo. Para más información sobre los costos del plan de consumo, consulte Estimación de los costos según el plan de consumo.

Use el explorador de métricas de Azure Monitor para ver los datos relacionados con los costos de las aplicaciones de funciones del plan de consumo en un formato gráfico.

  1. Vaya a la aplicación de funciones en Azure Portal.

  2. En el panel izquierdo, desplácese hacia abajo hasta Supervisión y elija Métricas.

  3. En Métrica, elija Recuento de la ejecución de la función y Suma en Agregación. Esto agrega al gráfico la suma de los recuentos de ejecución durante el período elegido.

    Definición de una métrica de aplicación de funciones para agregarla al gráfico

  4. Seleccione Agregar métrica y repita los pasos 2 a 4 para agregar Unidades de ejecución de la función al gráfico.

El gráfico resultante contiene los totales de ambas métricas de ejecución en el intervalo de tiempo elegido, que en este caso es de dos horas.

Gráfico de recuentos de ejecución de funciones y unidades de ejecución

Dado que el número de unidades de ejecución es mucho mayor que el recuento de ejecuciones, el gráfico simplemente muestra las unidades de ejecución.

En este gráfico se muestra un total de 1,11 mil millones de Function Execution Units consumidas en un período de dos horas, medido en MB por milisegundo. Para convertir a GB por segundo, divídalo por 1 024 000. En este ejemplo, la aplicación de funciones ha consumido 1110000000 / 1024000 = 1083.98 GB por segundo. Puede tomar este valor y multiplicar por el precio actual del tiempo de ejecución en la página de precios de Functions, que le proporciona el costo de estas dos horas, suponiendo que ya ha usado cualquier concesión gratuita de tiempo de ejecución.

Análisis de registros para Azure Functions

Azure Functions escribe todos los registros en la tabla FunctionAppLogs en LogManagement en el área de trabajo de Log Analytics donde envía los datos. Puede usar consultas de Kusto para consultar los datos.

Captura de pantalla de la ventana Consulta de Azure Functions en un área de trabajo de Log Analytics.

Consultas de Kusto

Puedes analizar datos de supervisión en el almacén de registros de Azure Monitor o Log Analytics mediante el lenguaje de consulta Kusto (KQL).

Importante

Al seleccionar Registros en el menú del servicio del portal, Log Analytics se abre con el ámbito de consulta establecido en el servicio actual. Este ámbito significa que las consultas de registro solo incluirán datos de ese tipo de recurso. Si quiere ejecutar una consulta que incluya datos de otros servicios de Azure, seleccione Registros en el menú Azure Monitor. Consulte Ámbito e intervalo de tiempo de una consulta de registro en Log Analytics de Azure Monitor para obtener más información.

Para obtener una lista de las consultas comunes de cualquier servicio, consulte Interfaz de consultas de Log Analytics.

Las siguientes consultas de ejemplo pueden ayudarle a supervisar todos los registros de la aplicación de funciones:


FunctionAppLogs
| order by TimeGenerated desc

FunctionAppLogs
| project TimeGenerated, HostInstanceId, Message, _ResourceId
| order by TimeGenerated desc

La siguiente consulta de ejemplo puede ayudarle a supervisar un registro concreto de una aplicación de funciones:

FunctionAppLogs
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

La consulta de ejemplo siguiente puede ayudarle a supervisar las excepciones en todos los registros de aplicaciones de funciones:


FunctionAppLogs
| where ExceptionDetails != ""  
| order by TimeGenerated asc

La siguiente consulta de ejemplo puede ayudarle a supervisar excepciones en un registro concreto de una aplicación de funciones:

FunctionAppLogs
| where ExceptionDetails != ""  
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Alertas

Las alertas de Azure Monitor le informan de forma proactiva cuando se detectan condiciones específicas en los datos que se supervisan. Las alertas permiten identificar y solucionar las incidencias en el sistema antes de que los clientes puedan verlos. Para obtener más información, vea Alertas de Azure Monitor.

Hay muchos orígenes de alertas comunes para los recursos de Azure. Para obtener ejemplos de alertas comunes para recursos de Azure, consulte Consultas de alertas de registro de ejemplo. El sitio de Alertas de línea base de Azure Monitor (AMBA) proporciona un método semiautomatizado para implementar alertas, paneles e instrucciones importantes de métricas de plataforma. El sitio se aplica a un subconjunto de servicios de Azure que se expande continuamente, incluidos todos los servicios que forman parte de la zona de aterrizaje de Azure (ALZ).

El esquema de alerta común normaliza el consumo de notificaciones de alerta de Azure Monitor. Para obtener más información, consulte Esquema de alertas comunes.

Tipos de alertas

Puede alertar sobre cualquier métrica o fuente de datos de registro en la plataforma de datos de Azure Monitor. Hay muchos tipos diferentes de alertas en función de los servicios que está supervisando y de los datos de supervisión que está recopilando. Los distintos tipos de alertas tienen varias ventajas y desventajas. Para obtener más información, consulte Elegir el tipo de alerta de supervisión adecuado.

En la siguiente lista se describen los tipos de alertas de Azure Monitor que puede crear:

  • Alertas de métricas: evalúan las métricas de recursos a intervalos regulares. Las métricas pueden ser métricas de plataforma, métricas personalizadas, registros de Azure Monitor convertidos en métricas o métricas de Application Insights. Las alertas de métricas también pueden aplicar varias condiciones y umbrales dinámicos.
  • Alertas de registro: permiten a los usuarios emplear una consulta de Log Analytics para evaluar los registros de recursos con una frecuencia predefinida.
  • Alertas del registro de actividad: se desencadenan cuando se produce un nuevo evento del registro de actividad que coincide con las condiciones definidas. Las alertas de Resource Health y de Service Health son alertas del registro de actividad que informan sobre el servicio y el estado de los recursos.

Algunos servicios de Azure también admiten alertas de detección inteligente, alertas de Prometheus, o reglas de alerta recomendadas.

Para algunos servicios, puede supervisar a escala aplicando la misma regla de alertas de métricas a varios recursos del mismo tipo que existen en la misma región de Azure. Se envían notificaciones individuales para cada recurso supervisado. Para obtener servicios y nubes de Azure compatibles, consulte Supervisión de varios recursos con una regla de alerta.

Nota:

Si va a crear o ejecutar una aplicación que se ejecuta en el servicio, Application Insights de Azure Monitor podría ofrecer más tipos de alertas.

Reglas de alertas de Azure Functions

En la tabla siguiente se enumeran las reglas de alerta comunes y recomendadas para Azure Functions. Estas solo son alertas recomendadas. Puede configurar alertas para cualquier métrica, entrada de registro o entrada de registro de actividad que figura en la Referencia de datos de supervisión para Azure Functions.

Tipo de alerta Condición Descripción
Métrica Media de conexiones Cuando el número de conexiones supera un valor establecido
Métrica HTTP 404 Cuando las respuestas HTTP 404 superan un valor establecido
Métrica Errores de servidor HTTP Cuando los errores HTTP 5xx superan un valor establecido
Registro de actividad Creación o actualización de la aplicación de funciones Cuando se crea o actualiza una aplicación
Registro de actividad Eliminación de una aplicación de funciones Cuando se elimina una aplicación
Registro de actividad Reinicio de la aplicación de funciones Cuando se reinicia una aplicación
Registro de actividad Detención de la aplicación de funciones Cuando se detiene una aplicación

Recomendaciones de Advisor

Para algunos servicios, si se producen condiciones críticas o cambios inminentes durante las operaciones de recursos, se muestra una alerta en la página Información general del servicio del portal. Puede encontrar más información y correcciones recomendadas para la alerta en Recomendaciones de Advisor en Supervisión en el menú izquierdo. Durante las operaciones normales, no se muestran recomendaciones de Advisor.

Para más información sobre Azure Advisor, consulte Introducción a Azure Advisor.

Para más información sobre la supervisión de Azure Functions, consulte los siguientes artículos: