Introducción sobre Application Insights

Application Insights es una extensión de Azure Monitor y proporciona características de APM (application performance monitoring). Las herramientas de APM son útiles para supervisar aplicaciones de desarrollo, pruebas y producción de las siguientes maneras:

  • De manera proactiva comprende cómo funciona una aplicación.
  • De manera reactiva revisa los datos de ejecución de la aplicación para determinar la causa de un incidente.

Captura de pantalla en la que se muestra Application Insights en Azure Portal.

Además de recopilar métricas y datos de telemetría de aplicaciones, que describen las actividades y el estado de la aplicación, puede usar Application Insights para recopilar y almacenar datos de registro de seguimiento de aplicaciones.

El seguimiento del registro está asociado a otros datos de telemetría para proporcionar una vista detallada de la actividad. Agregar un registro de seguimiento a las aplicaciones existentes solo requiere proporcionar un destino para los registros. Rara vez es necesario cambiar la plataforma de registro.

Application Insights proporciona otras características, entre las que se incluyen, entre otras, las siguientes:

  • Live Metrics: observe la actividad de la aplicación implementada en tiempo real sin que afecte al entorno de host.
  • Disponibilidad: también conocida como supervisión de transacciones sintéticas. Sondee los puntos de conexión externos de las aplicaciones para probar la disponibilidad general y la capacidad de respuesta a lo largo del tiempo.
  • Integración de GitHub o Azure DevOps: cree elementos de trabajo de GitHub o Azure DevOps en el contexto de los datos de Application Insights.
  • Utilización: comprenda qué características son populares con los usuarios y cómo estos interactúan con la aplicación y la usan.
  • Detección inteligente: detecte errores y anomalías automáticamente a través del análisis proactivo de telemetría.

Application Insights admite el seguimiento distribuido, que también se conoce como correlación de componentes distribuidos. Esta característica permite buscar y visualizar un flujo de un extremo a otro de una ejecución o transacción concreta. La capacidad de realizar un seguimiento de la actividad de un extremo a otro es importante para las aplicaciones que se han creado como componentes distribuidos o microservicios.

El mapa de aplicación permite obtener una vista general de arriba abajo de la arquitectura de la aplicación y referencias visuales de un vistazo al estado y la capacidad de respuesta de los componentes.

Para comprender el número de recursos de Application Insights necesarios para cubrir la aplicación o los componentes entre entornos, vea la Guía de planificación de la implementación de Application Insights.

Diagrama que muestra la ruta de los datos a medida que fluyen a través de las capas del servicio Application Insights.

La configuración del firewall debe ajustarse para que los datos lleguen a los puntos de conexión de ingesta. Para más información, compruebe las Direcciones IP que usa Azure Monitor.

¿Cómo uso Application Insights?

Application Insights se habilita mediante la instrumentación automática (agente) o la incorporación del SDK de Application Insights o Distribución de OpenTelemetry de Azure Monitor al código de la aplicación. Se admiten muchos lenguajes. Las aplicaciones pueden estar en Azure, en el entorno local u hospedadas por otra nube. Para averiguar qué tipo de instrumentación es la más adecuada, consulte Cómo instrumentar una aplicación.

El agente de Application Insights o SKD procesa previamente la telemetría y las métricas antes de enviar los datos a Azure. A continuación, se ingieren y procesan más antes de almacenarlos en los registros de Azure Monitor (Log Analytics). Por este motivo, para usar Application Insights se necesita una cuenta de Azure.

La manera más fácil de empezar a consumir Application Insights es mediante el Portal Azure y las experiencias visuales integradas. Los usuarios avanzados pueden consultar los datos subyacentes directamente para crear visualizaciones personalizadas mediante paneles y libros de Azure Monitor.

Considere la posibilidad de empezar con el mapa de aplicación para obtener una vista general. Use la experiencia de búsqueda para restringir rápidamente la telemetría y los datos por tipo y fecha y hora. También puede buscar en los datos (por ejemplo, con seguimientos de registro) y filtrar por una operación correlacionada determinada de interés.

Hay dos vistas que son especialmente útiles:

  • Vista de rendimiento: obtenga información detallada sobre el rendimiento de la aplicación o la API y las dependencias de bajada. También puede encontrar un ejemplo representativo para explorar de un extremo a otro.
  • Vista de error: comprenda qué componentes o acciones generan fallas, errores y excepciones. Las vistas integradas son útiles para realizar un seguimiento del estado de la aplicación de forma proactiva y para el análisis reactivo de la causa principal.

Cree alertas de Azure Monitor para indicar posibles problemas si las partes de la aplicación o los componentes se desvían de la línea de base establecida.

Los precios de Application Insights se basan en el consumo. Solo paga por lo que usa. Para más información sobre los precios, consulte:

Cómo instrumentar una aplicación

La instrumentación automática es el método de instrumentación preferido. No requiere ninguna inversión para el desarrollador y elimina la sobrecarga futura relacionada con la actualización del SDK. También es la única manera de instrumentar una aplicación en la que no tiene acceso al código fuente.

Solo debe instalar el SDK de Application Insights si:

Para usar el SDK, instale un pequeño paquete de instrumentación en la aplicación y, después, instrumente la aplicación web, los componentes en segundo plano y JavaScript en las páginas web. La aplicación y sus componentes no tienen que estar hospedados obligatoriamente en Azure.

La instrumentación supervisa la aplicación y dirige los datos de telemetría a un recurso de Application Insights mediante un token único. El impacto sobre el rendimiento de la aplicación es pequeño. Las llamadas de seguimiento no suponen ningún tipo de bloqueo y se agrupan por lotes para enviarse en un subproceso aparte.

La instrumentación automática integrada está disponible para Azure App Service .NET, Azure App Service .NET Core, Azure Functions y Azure Virtual Machines.

El agente de Application Insights para Azure Monitor está disponible para cargas de trabajo que se ejecutan en máquinas virtuales locales.

Para obtener una vista detallada de todos los entornos, lenguajes y proveedores de recursos compatibles con la instrumentación automática, consulte ¿Qué es la instrumentación automática para Application Insights de Azure Monitor?.

En otros escenarios, se requiere el SDK de Application Insights.

También hay disponible una oferta de OpenTelemetry.


Idiomas compatibles

En esta sección se describen los escenarios admitidos.

Plataformas y marcos compatibles

En esta sección se enumeran todas las plataformas y marcos compatibles.

Integración de servicios de Azure (habilitación del portal, implementaciones de Azure Resource Manager)

Instrumentación automática (habilitación sin cambios de código)

Instrumentación manual o SDK (se requieren algunos cambios de código)

Nota

La instrumentación basada en OpenTelemetry está disponible para C#, Node.js y Python. Revise las limitaciones que se indican al principio de la documentación oficial de cada lenguaje. Si necesita una experiencia con todas las características, use el SDK de Application Insights existente.

Marcos de registro

Exportación y análisis de datos

SDK no compatibles

Existen otros SDK de Application Insights con el soporte de la comunidad. Azure Monitor solo proporciona compatibilidad cuando se usan las opciones de instrumentación admitidas que se enumeran en este artículo.

Estamos evaluando constantemente las oportunidades de ampliar nuestro soporte técnico para otros lenguajes. Consulte las novedades del SDK en Actualizaciones de Azure para Application Insights.


Preguntas más frecuentes

Esta sección proporciona respuestas a preguntas comunes.

¿Qué telemetría recopila Application Insights?

De las aplicaciones web de servidor:

Desde páginas web de cliente:

  • Excepciones no detectadas en la aplicación, incluida información sobre lo siguiente:

    • Seguimiento de la pila
    • Detalles de la excepción y mensaje que acompaña al error
    • Número de línea y columna del error
    • Dirección URL en la que se produjo el error
  • Solicitudes de dependencia de red realizadas por las solicitudes XHR and Fetch (la recopilación de capturas está deshabilitada de forma predeterminada) de la aplicación, incluida información sobre lo siguiente:

    • Dirección URL del origen de dependencia
    • Comando y método usado para solicitar la dependencia
    • Duración de la solicitud
    • Código de resultado y estado correcto de la solicitud
    • Identificador (si existe) del usuario que realiza la solicitud
    • Contexto de correlación (si existe) en el que se realiza la solicitud
  • Información del usuario (por ejemplo, ubicación, red, IP)

  • Información del dispositivo (por ejemplo, explorador, sistema operativo, versión, idioma, modelo)

  • Información de la sesión

    Nota

    En algunas aplicaciones, como las aplicaciones de una sola página (SPA), es posible que la duración no se registre y de forma predeterminada sea 0.

    Para obtener más información, consulte Recopilación, retención y almacenamiento de datos en Application Insights.

De otros orígenes, si los configura:

¿Cómo puedo administrar los recursos de Application Insights mediante PowerShell?

También puede escribir scripts de PowerShell usando el Monitor de recursos de Azure para:

  • Crear y actualizar recursos de Application Insights
  • Consultar el plan de precios
  • Obtener la clave de instrumentación
  • Agregar una alerta de métrica
  • Agregar una prueba de disponibilidad.

No puede configurar un informe del explorador de métricas ni configurar la exportación continua.

¿Cómo puedo consultar la telemetría de Application Insights?

Use la API de REST para ejecutar consultas de Log Analytics.

¿Puedo enviar telemetría al portal de Application Insights?

Le recomendamos usar nuestros SDK y la API de SDK. Hay variantes del SDK para distintas plataformas. Estos SDK controlan procesos como el almacenamiento en búfer, la compresión, la limitación y los reintentos. Sin embargo, el esquema de ingesta y el protocolo de punto de conexión son públicos.

¿Cuánto tiempo tarda la recopilación de telemetría?

La mayoría de los datos de Application Insights tienen una latencia de menos de 5 minutos. Algunos datos pueden tardar más, lo que es típico para los archivos de registro más grandes. Consulte el contrato de nivel de servicio de Application Insights.

Solución de problemas

Revise los artículos de solución de problemas dedicados de Application Insights.

Ayuda y soporte técnico

Soporte técnico de Azure

En caso de problemas de Soporte técnico de Azure, abra una incidencia de Soporte técnico de Azure.

Foro de preguntas de Preguntas y respuestas de Microsoft

Publique preguntas generales en el foro de respuestas de Preguntas y respuestas de Microsoft.

Stack Overflow

Publique preguntas de programación en Stack Overflow mediante una etiqueta de Application Insights.

Comunidad de comentarios

Deje comentarios sobre el producto para el equipo de ingeniería en la comunidad de comentarios.

Pasos siguientes