Supervisión de rendimiento y disponibilidad híbrida

Azure Event Hubs
Azure Log Analytics
Azure Monitor
Azure Storage
Azure Virtual Machines

Esta arquitectura de referencia muestra cómo usar Azure Monitor para supervisar el rendimiento y la disponibilidad de las cargas de trabajo del sistema operativo que se ejecutan en máquinas virtuales. Las máquinas virtuales pueden estar en Microsoft Azure, en entornos locales o en nubes que no son de Azure.

Architecture

Diagrama que ilustra las funciones de supervisión y disponibilidad de Azure Monitor para cargas de trabajo del sistema operativo en Azure, en entornos locales y con proveedores de nube de terceros. Los datos se envían a un área de trabajo de Log Analytics. Los servicios Application Insights, Analysis, Visualization, Alerts y Autoscale se usan como parte de Azure Monitor

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  • Oficina principal local: VM 1. Este componente es una aplicación web con acceso a Internet y una página web de acceso público, y los agentes de Log Analytics y Dependency Agent instalados. Para obtener información sobre los agentes, consulte Introducción al agente de Log Analytics e Información general sobre los agentes de Azure Monitor, Dependency Agent.
  • Oficina principal local: VM 2. Este entorno de lógica empresarial no tiene acceso a Internet. Sin embargo, tiene instalados los agentes de Log Analytics y Dependency Agent.
  • Oficina principal local: VM 3. Este componente es un almacén de datos sin acceso a Internet, pero con los agentes de Log Analytics y Dependency Agent instalados.
  • Oficina principal local: puerta de enlace de Log Analytics. La puerta de enlace de Log Analytics recopila datos de registro y métricas de las tres VM locales y los entrega en el área de trabajo de Log Analytics a través del Protocolo de control de transmisión (TCP) en el puerto 443.
  • Oficina principal local: firewall. El tráfico hacia y desde el entorno local se enruta a través del firewall.
  • Puerta de enlace. La puerta de enlace proporciona conectividad a la sucursal.
  • Sucursal local: VM 4. Este componente es la aplicación empresarial que se ejecuta sin acceso a Internet, pero con los agentes de Log Analytics y Dependency Agent instalados. El agente de Log Analytics instalado en la VM está configurado para transferir datos directamente al área de trabajo de Log Analytics sin necesidad de una puerta de enlace de Log Analytics.
  • Sucursal local: puerta de enlace. Esta puerta de enlace conecta la sucursal con la oficina principal local a través de una red privada virtual (VPN).
  • Proveedor de nube de terceros: VM 5. Este componente es una aplicación web con acceso a Internet, una página web de acceso público, y los agentes de Log Analytics y Dependency Agent instalados.
  • Proveedor de nube de terceros: VM 6. Este componente es un entorno de almacén de datos sin acceso a Internet, pero con los agentes de Log Analytics y Dependency Agent instalados. No hay conectividad directa desde los entornos de proveedor de nube de terceros a los entornos locales.
  • Azure: VMSS. Se trata de un conjunto de escalado creado mediante Azure Virtual Machine Scale Sets. Ejecuta una aplicación empresarial con los agentes de Log Analytics y de diagnóstico instalados.
  • Azure: servidor de aplicaciones. Este servidor tiene una sola VM que ejecuta una aplicación empresarial, con los agentes de Log Analytics y de diagnóstico instalados.
  • Métricas de Azure Monitor. Los datos recopilados por las métricas de Azure Monitor se almacenan en una base de datos de serie temporal que está optimizada para el análisis de los datos con marca de tiempo. También almacena métricas enviadas desde VM locales y VM de Azure.
  • Azure Monitor: área de trabajo de Log Analytics. Esta área de trabajo almacena los registros enviados desde VM locales, VM de Azure y VM en proveedores de nube de terceros. El área de trabajo es un recurso de Azure donde se agregan los datos y sirve de límite administrativo para el acceso a estos datos. Posteriormente, otros servicios de Azure Monitor se conectan al área de trabajo de Log Analytics y usan los datos con distintos fines. Para obtener más información, consulte Diseño de la implementación de registros de Azure Monitor.
  • Azure Monitor. Insights: Application Insights. Application Insights proporciona análisis de aplicaciones e información sobre su uso. En esta arquitectura de ejemplo, una prueba de ping de disponibilidad comprueba la disponibilidad de la aplicación web local. Las reglas de alertas están habilitadas para proporcionar la notificación de una prueba con errores. Para obtener más información, consulte ¿Qué es Application Insights? y Supervisión de la disponibilidad de un sitio web.
  • Azure Monitor. Insights: Azure Monitor para VM. Azure Monitor para VM supervisa el rendimiento y el estado de sus máquinas virtuales y conjuntos de escalado de máquinas virtuales. La supervisión incluye sus procesos en ejecución y las dependencias de otros recursos. En este escenario, Azure Monitor para VM proporcionará información sobre sus máquinas virtuales. Para más información, consulte ¿Qué es Azure Monitor para VM?
  • Azure Monitor: análisis. Los datos de registro y métricas de las VM se consultan en las métricas de Azure Monitor y el área de trabajo de Log Analytics mediante el lenguaje de consulta de Kusto (KQL). Los resultados proporcionan información sobre la infraestructura, la topología y los recursos. Para obtener más información, consulte Kusto: Información general y Ejemplos de consultas de registro de Azure Monitor.
  • Azure Monitor: visualizaciones. Azure Monitor usa herramientas de visualización para revisar los componentes de la infraestructura y la aplicación, y las comunicaciones entre los servicios de Azure Monitor. Entre las herramientas de visualización se incluyen Mapa de aplicación de Azure Application Insights, la característica Mapa de Azure Monitor para VM, libros de Azure Monitor y varias vistas Panel disponibles en Azure Monitor. Para obtener más información, consulte Uso de la característica de asignación de Azure Monitor para VM para comprender los componentes de la aplicación, Creación y uso compartido de paneles de datos de Log Analytics y Libros de Azure Monitor.
  • Azure Monitor: integraciones. Azure Monitor se integra con una gran variedad de herramientas y extensiones de asociados y de terceros. Estas herramientas y extensiones se basan en las funcionalidades de Azure Monitor existentes, como las de análisis y visualizaciones, y las mejoran.
  • Azure Monitor. Acciones: alertas. Las variaciones en los datos de métricas y registros pueden indicar la aparición de eventos. Las reglas definen las variantes de los datos que desencadenan las alertas, proporcionan notificaciones e inician respuestas de corrección. En esta arquitectura, cuando se desencadena una alerta, los runbooks de Automation corrigen automáticamente las VM locales y las VM de Azure. También existen acciones de webhooks, integración de administración de servicios y otros tipos de acciones disponibles. Para obtener más información, consulte Creación, visualización y administración de alertas de métricas mediante Azure Monitor y Creación, visualización y administración de alertas de registro mediante Azure Monitor.
  • Azure Monitor. Acciones: escalabilidad automática. La escalabilidad automática agrega o elimina instancias de VM según la demanda, lo que mantiene el rendimiento y mejora la rentabilidad. En esta arquitectura, la escalabilidad automática tiene condiciones definidas en torno a la carga media de la CPU (en porcentaje). Si se cumplen las condiciones, la escalabilidad automática de Azure Monitor ajustará el conjunto de escalado según la demanda. Para conocer los detalles, consulte Información general sobre el escalado automático en Microsoft Azure.

Componentes

La arquitectura consta de los siguientes componentes:

Recomendaciones

Los siguientes procedimientos recomendados son sugerencias aplicables a la mayoría de los escenarios. Siga estos procedimientos a menos que tenga un requisito concreto que los invalide.

Área de trabajo de Log Analytics

Tenga en cuenta las siguientes recomendaciones al diseñar el área de trabajo Log Analytics:

  • Coloque el área de trabajo y los recursos en la misma región de Azure si la latencia es un factor importante.
  • Comience con una sola área de trabajo de Log Analytics y aumente el número de áreas de trabajo a medida que los requisitos cambien.
  • Si tiene equipos y recursos dispersos geográficamente, es posible que necesite un área de trabajo por región.
  • No es necesario que el área de trabajo esté en la misma suscripción que los recursos que se están ejecutando.

Alertas

En el caso de escenarios simples, puede utilizar las métricas para marcar alertas en lugar de registros. Métricas:

  • Proporcione un recuento, o un valor numérico, para eventos como el uso de CPU, la memoria disponible o el espacio en disco lógico.
  • Mantenga una latencia baja.
  • Ofrezca mayor granularidad, como intervalos por segundo o por minuto.
  • Reciba notificaciones de problemas rápidamente.

Para recopilar indicadores de rendimiento personalizados o métricas específicas del negocio para obtener conclusiones más detalladas, utilice métricas personalizadas. Para más información, consulte Métricas personalizadas en Azure Monitor (versión preliminar).

Las alertas de métricas no son la respuesta en todas las situaciones. Es posible que quiera seguir usando alertas basadas en registros cuando necesite más personalización o correlaciones más eficaces.

Análisis y diagnósticos

Tenga en cuenta las siguientes recomendaciones sobre análisis y diagnósticos:

  • Use los registros para un análisis más exhaustivo. Los registros pueden:

    • Proporcionar información detallada sobre los eventos (en comparación con las métricas).
    • Producirse de manera intermitente.
    • Facilitar diagnósticos más exhaustivos después de una marca de métrica inicial.
  • Personalice la recopilación de datos de registro (que es similar a las métricas) mediante HTTP Data Collector API para enviar datos de registro a un área de trabajo de Log Analytics. Para obtener más información, consulte Envío de datos de registro a Azure Monitor con HTTP Data Collector API (versión preliminar pública).

  • Analice las aplicaciones de forma proactiva con la característica de detección inteligente de Application Insights. La detección inteligente aplica las funcionalidades de aprendizaje automático de Azure y el análisis estadístico para detectar problemas como anomalías de rendimiento o errores, pérdidas de memoria o degradación general de la aplicación. Para más información, consulte Detección inteligente en Application Insights.

  • Utilice Azure Monitor para VM: Mapa para revisar las conexiones entre los servidores, los procesos, la latencia de conexión entrante y saliente, y los puertos a través de cualquier arquitectura conectada por TCP. No se requiere ninguna configuración aparte de instalar un agente. Con Azure Monitor para VM: Mapa, puede interactuar con los servidores como sistemas interconectados.

Consultas de Log Analytics

Consulte los datos dentro de un área de trabajo de Log Analytics mediante KQL para buscar términos, eventos específicos o estados con el fin de identificar tendencias y analizar patrones. Use el explorador de consultas para examinar y seleccionar consultas escritas previamente, y modifíquelas o cree las suyas propias. Puede ejecutar, guardar, compartir y exportar consultas desde un área de trabajo, y anclar sus consultas favoritas a un panel para reutilizarlas.

Instalación del agente

Instale los agentes de forma automática y a escala, en lugar de hacerlo individualmente, mediante opciones de automatización como Azure Policy, Azure PowerShell, plantillas de Resource Manager o Desired State Configuration (DSC). Para obtener más información, consulte Habilitación de Azure Monitor para VM mediante Azure Policy, Habilitación de Azure Monitor para VM mediante Azure PowerShell y Habilitación de Azure Monitor para VM para una máquina virtual híbrida: Desired State Configuration.

Panel

En el caso de las aplicaciones críticas, cree una vista Panel de Azure. Comparta o presente el panel en una pantalla compartida, en tiempo real, para las personas que necesitan datos de aplicaciones críticas.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Las consideraciones siguientes ayudan a garantizar la disponibilidad en su entorno.

  • Pruebas de disponibilidad. La prueba de ping de URL que se usa en esta arquitectura es la prueba de disponibilidad de interacción indirecta más sencilla. Sin embargo, existen otras opciones disponibles, como:
    • Prueba web de varios pasos. Reproduce grabaciones de solicitudes web secuenciadas para probar escenarios complejos. Las pruebas web de varios pasos se crean en Microsoft Visual Studio Enterprise y luego se cargan en el portal para su ejecución.
    • Pruebas de disponibilidad de seguimiento personalizado. Utilice el método TrackAvailability() para enviar los resultados de las pruebas a Application Insights.
  • Alertas. Cuando se crea una prueba de disponibilidad en Application Insights, las notificaciones de alertas de eventos están habilitadas de forma predeterminada. Para editar las reglas de alerta, puede especificar el tipo de notificación y los detalles, desde Azure Monitor>Alertas.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Los elementos siguientes son consideraciones para mejorar la seguridad del entorno.

  • Área de trabajo de Log Analytics. Los modos de acceso se definen en uno de los contextos siguientes:
    • Contexto del área de trabajo. Se pueden consultar todos los registros para los que el área de trabajo tiene permiso de acceso. Se trata de un enfoque de acceso vertical. Por ejemplo, un equipo de seguridad podría necesitar acceder a todos los datos de recursos de arriba abajo.
    • Contexto del recurso. Solo se pueden consultar los registros de recursos específicos. Por ejemplo, se puede conceder a un equipo de aplicaciones acceso a los registros del recurso concreto en el que están trabajando.
  • Proteja los datos en tránsito a Log Analytics. Los datos en tránsito se protegen utilizando la mínima Seguridad de la capa de transporte (TLS) 1.2. No es necesario que habilite esta característica de forma explícita. Para obtener más información, consulte Seguridad de datos de Log Analytics.
  • Proteja los datos en reposo en Log Analytics. Los datos en reposo en Log Analytics están protegidos, según Azure Storage, mediante el cifrado con el Estándar de cifrado avanzado de 256 bits (AES) de forma predeterminada.
  • Detección inteligente. Utilice la detección inteligente de Application Insights para analizar la telemetría generada por la aplicación y detectar posibles problemas de seguridad. Para obtener más información, consulte Application Security Detection Pack (versión preliminar).
  • Integre Azure Monitor con herramientas de Administración de eventos e información de seguridad (SIEM). Enrute los datos de supervisión a un centro de eventos con Azure Monitor para integrar las herramientas externas de SIEM y de supervisión. Para más información, consulte Transmisión de datos de supervisión de Azure a un centro de eventos o asociado externo.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Los elementos siguientes son consideraciones para controlar y administrar los costos de su entorno.

  • Azure Monitor. Los costos de Azure Monitor se basan en el consumo, lo que a menudo se conoce como de pago por uso.
  • Log Analytics. Se paga por la ingesta de datos y la retención de datos. Puede calcular y predecir el número de VM y la cantidad de datos (en gigabytes) que espera recopilar de cada VM. Una VM de Azure típica consume entre 1 y 3 gigabytes (GB) de datos al mes. Si está evaluando el uso de datos con registros de Azure Monitor, utilice las estadísticas de datos de su propio entorno y obtenga un descuento con reservas de capacidad.
  • Application Insights. Este componente se factura según el volumen de datos de telemetría que envía la aplicación y el número de pruebas web que se ejecutan.
  • Consultas de métricas. Las consultas de métricas se facturan por el número de llamadas realizadas.
  • Alertas. Las alertas se facturan en función del tipo y el número de señales supervisadas.
  • Notificaciones. Las notificaciones se facturan según el tipo y el número de notificaciones que se envían.
  • Azure Monitor. La sección Uso y costos estimados de Azure Monitor estima los costos mensuales en función de los 31 días de uso anteriores.
  • Para obtener más información, consulte Precios de Azure Monitor y Calculadora de precios.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

Facilidad de uso

Las siguientes son consideraciones para que el entorno sea más fácil de administrar.

DevOps

A continuación se incluyen consideraciones para integrar su entorno con soluciones y procesos de DevOps.

  • Application Insights. Integre Application Insights en Azure Pipelines para ayudar a mejorar el rendimiento y la facilidad de uso. Application Insights puede detectar automáticamente anomalías en el rendimiento. Se conecta a varias herramientas de desarrollo, como Azure DevOps Services y GitHub.
  • Instrumentación de aplicaciones. A fin de instrumentar aplicaciones, modifique el código de la aplicación para habilitar la telemetría con Application Insights. Los métodos siguientes son formas de instrumentar aplicaciones:
    • En tiempo de ejecución. Instrumentar la aplicación web en el servidor en tiempo de ejecución es ideal para las aplicaciones que ya están implementadas, ya que evita tener que actualizar el código. Los escenarios adecuados incluyen:
      • Aplicaciones Microsoft ASP.NET o ASP.NET Core hospedadas en Azure Web Apps.
      • Aplicaciones ASP.NET hospedadas en Microsoft Internet Information Services (IIS) en una máquina virtual o un conjunto de escalado de máquinas virtuales
      • Aplicaciones ASP.NET hospedadas en una VM local en IIS.
      • Azure Functions basado en Java.
      • Aplicaciones Node.js en Linux App Services.
      • Microservicios hospedados en AKS.
    • En tiempo de desarrollo. Agregue Application Insights al código para personalizar la colección de telemetría y enviar datos adicionales. Los lenguajes y las plataformas compatibles incluyen:
      • Aplicaciones ASP.NET
      • Aplicaciones de ASP.NET Core
      • Aplicaciones de consola .NET
      • Java
      • Node.js
      • Python
  • Utilice Conector de Administración de servicios de TI (ITSMC) para conectarse a las herramientas externas de Administración de servicios de TI (ITSM). ITSMC conecta Azure a los productos y servicios de ITSM compatibles, en los que normalmente residen los elementos de trabajo relacionados con los problemas. Para más información, consulte Conectar Azure a las herramientas de ITSM mediante el Conector de Administración de servicios de TI.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad que tiene la carga de trabajo de reducirse horizontalmente de manera eficiente para satisfacer las demandas que los usuarios hayan realizado sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

A continuación se indican algunas consideraciones para el escalado del entorno.

  • Automatice la instalación y la configuración de sus recursos y aplicaciones.
  • Aplicaciones distribuidas geográficamente a gran escala. Use el seguimiento distribuido en Application Insights para realizar el seguimiento de las dependencias y las llamadas entre varios componentes de aplicación, recursos de back-end y entornos de microservicios. Con el seguimiento distribuido puede depurar aplicaciones que llamen a través de los límites del proceso, fuera de la pila local. (No es necesario habilitar el seguimiento distribuido, está disponible automáticamente como parte de App Insights).
    • Dos opciones para consumir datos de seguimiento distribuido son:
      • Experiencia de diagnósticos de transacción. Esta experiencia es similar a una pila de llamadas con una dimensión de tiempo agregada. La experiencia de diagnóstico de transacciones proporciona visibilidad sobre una única transacción o solicitud. Resulta útil para encontrar la causa principal de los problemas de confiabilidad y los cuellos de botella de rendimiento por solicitud. Para obtener más información, consulte ¿Qué es el seguimiento distribuido?
      • Experiencia de mapa de aplicación. Agrega muchas transacciones para demostrar cómo interactúan los sistemas de forma topológica, y proporcionan índices medios de rendimiento y errores. Para más información, consulte Mapa de aplicación: evaluación de prioridades de aplicaciones distribuidas.

Pasos siguientes

Más información sobre las tecnologías de los componentes:

Explore las arquitecturas relacionadas: