Cómo integrar Azure API Management con Azure Application Insights
Puede integrar fácilmente Azure Application Insights con Azure API Management. Azure Application Insights es un servicio extensible para desarrolladores web que compilan y administran aplicaciones en varias plataformas. En esta guía, hará lo siguiente:
- Recorrer cada paso de la integración de Application Insights en API Management.
- Aprender estrategias para reducir el impacto en el rendimiento de la instancia del servicio API Management.
Prerrequisitos
Necesita una instancia de Azure API Management. Cree una primero.
Crear una instancia de Application Insights
Para usar Application Insights, cree una instancia del servicio Application Insights. Para crear una instancia mediante Azure Portal, vea Recursos de Application Insights basados en áreas de trabajo.
Nota
El recurso Application Insights puede estar en una suscripción diferente o incluso en un inquilino diferente al recurso API Management.
Creación de una conexión entre Application Insights y API Management
Nota
Si el recurso Application Insights está en un inquilino diferente, tendrá que crear el registrador mediante la API de REST.
- Vaya a la instancia del servicio Azure API Management en Azure Portal.
- Seleccione Application Insights en el menú de la izquierda.
- Seleccione +Agregar.
- Seleccione la instancia de Application Insights que ha creado antes y proporcione una descripción breve.
- Para habilitar la supervisión de la disponibilidad de su instancia de API Management en Application Insights, seleccione la casilla Add availability monitor (Agregar supervisión de la disponibilidad).
- Esta configuración valida periódicamente si el punto de conexión de puerta de enlace de API Management está respondiendo.
- Los resultados aparecerán en el panel Disponibilidad de la instancia de Application Insights.
- Seleccione Crear.
- Compruebe que el nuevo registrador de Application Insights aparece ahora en la lista.
Nota
En segundo plano, se crea la entidad Logger en la instancia de API Management, que contiene la clave de instrumentación de la instancia de Application Insights.
Sugerencia
Si necesita actualizar la clave de instrumentación configurada en el registrador de Application Insights, seleccione la fila del registrador en la lista (no el nombre del registrador). Escriba la clave de instrumentación y seleccione Guardar.
Habilitación del registro Application Insights para la API
Vaya a la instancia del servicio Azure API Management en Azure Portal.
Seleccione API del menú de la izquierda.
Haga clic en la API, en este caso, Demo Conference API. Si está configurado, seleccione una versión.
Vaya a la pestaña Configuración de la barra superior.
Desplácese hacia abajo hasta la sección Diagnostics Logs (Registros de diagnóstico).
Marque la casilla Habilitar.
Seleccione el registrador adjunto en el menú desplegable Destino.
Escriba 100 como Sampling (%) [Muestreo (%)] y seleccione la casilla Always log errors (Registrar errores siempre).
Deje el resto de los valores sin modificar. Para más información sobre la configuración, consulte Referencia de configuración de registros de diagnóstico.
Advertencia
Reemplazar el valor predeterminado 0 en el campo Number of payload bytes to log (Número de bytes de carga que se van a registrar) puede disminuir considerablemente el rendimiento de las API.
Seleccione Guardar.
En segundo plano, se crea una entidad Diagnostic (Diagnóstico) con el nombre
applicationinsights
en el nivel de API.
Nota
Las solicitudes se completan correctamente una vez que API Management envía toda la respuesta al cliente.
Registradores para una sola API o todas las API
Puede especificar registradores en distintos niveles:
- Registrador de una API.
- Registrador para todas las API.
Especificación de los dos:
- De forma predeterminada, el registrador de la API única (nivel más pormenorizado) anulará el de todas las API.
- Si los registradores configurados en los dos niveles son diferentes y necesita ambos registradores para recibir telemetría (multiplexación), póngase en contacto con el soporte técnico de Microsoft.
Qué datos se agregan a Application Insights
Application Insights recibe:
Elemento de telemetría | Descripción |
---|---|
Solicitud | Para cada solicitud entrante:
|
Dependencia | Para cada solicitud reenviada a un servicio de back-end:
|
Exception | Para cada solicitud con error:
|
Seguimiento | Si configura una directiva de seguimiento. El valor severity de la directiva trace debe ser igual o mayor que el valor verbosity del registro de Application Insights. |
Emisión de métricas personalizadas
Puede emitir métricas personalizadas si configura la directiva emit-metric
.
Para que las métricas agregadas previamente de Application Insights estén disponibles en API Management, tendrá que habilitar manualmente las métricas personalizadas en el servicio.
- Use la directiva
emit-metric
con la creación o actualización de API. - Agregue
"metrics":true
a la carga, junto con cualquier otra propiedad.
Nota
Consulte los límites de Application Insights para más información sobre el tamaño máximo y el número de métricas y eventos por instancia de Application Insights.
Consecuencias en el rendimiento y muestreo de registros
Advertencia
Registrar todos los eventos puede tener graves consecuencias en el rendimiento, según la tasa de solicitudes de entrada.
En función de las pruebas de carga internas, habilitar la característica de registro ha provocado una reducción del 40 % al 50 % en el rendimiento cuando la tasa de solicitudes superaba las 1000 solicitudes por segundo. Application Insights se ha diseñado para evaluar el rendimiento de las aplicaciones mediante análisis estadísticos. No se ha creado para:
- Ser un sistema de auditoría.
- Registrar cada solicitud individual para API de gran volumen.
Puede manipular el número de solicitudes que se registran si ajusta el valor Muestreo. Un valor del 100 % significa que se registran todas las solicitudes, mientras que un 0 % indica que no se registra nada.
Muestreo ayuda a reducir el volumen de telemetría, lo que evita de manera eficaz una degradación significativa en el rendimiento, a la vez que brinda las ventajas del registro.
Para mejorar los problemas de rendimiento, omita lo siguiente:
- Encabezados de respuesta y solicitud.
- Registro del cuerpo.
Vídeo
Pasos siguientes
- Más información sobre Azure Application Insights.
- Tenga en cuenta el registro con Azure Event Hubs.
- Aprenda a visualizar datos desde Application Insights mediante Azure Managed Grafana