Detección y mitigación de posibles problemas mediante AIOps y el aprendizaje automático en Azure Monitor
La inteligencia artificial para operaciones de TI (AIOps) ofrece formas eficaces de mejorar la calidad y la confiabilidad del servicio mediante el aprendizaje automático para procesar y actuar automáticamente sobre los datos que recopila de aplicaciones, servicios y recursos de TI en Azure Monitor.
Las funcionalidades integradas de AIOps de Azure Monitor proporcionan información y le ayudan a solucionar problemas y automatizar tareas controladas por datos, como predecir el uso de la capacidad y el escalado automático, identificar y analizar problemas de rendimiento de aplicaciones, y detectar comportamientos anómalos en máquinas virtuales, contenedores y otros recursos. Estas características aumentan la supervisión y las operaciones de TI, sin necesidad de contar con conocimientos de aprendizaje automático ni de realizar inversiones adicionales.
Azure Monitor también proporciona herramientas que le permiten crear su propia canalización de aprendizaje automático para introducir nuevas funcionalidades de análisis y respuesta y actuar sobre los datos en los registros de Azure Monitor.
En este artículo se describen las funcionalidades integradas de AIOps de Azure Monitor y se explica cómo puede crear y ejecutar modelos de aprendizaje automático personalizados y crear una canalización de aprendizaje automático automatizada en los datos de los registros de Azure Monitor.
Funcionalidades integradas de AIOps y aprendizaje automático de Azure Monitor
Escenario de supervisión | Capacidad | Descripción |
---|---|---|
Supervisión de registros | Conclusiones del área de trabajo de Log Analytics | Proporciona una vista unificada de las áreas de trabajo de Log Analytics y usa el aprendizaje automático para detectar anomalías de ingesta. |
Análisis de series temporales de Lenguaje de consulta Kusto (KQL) y funciones de aprendizaje automático | Herramientas fáciles de usar para generar datos de series temporales, detectar anomalías, hacer previsiones y realizar análisis de causas principales directamente en Azure Monitor Logs sin necesidad de contar con conocimientos profundos de ciencia de datos y lenguajes de programación. | |
Microsoft Copilot en Azure | Le ayuda a usar Log Analytics para analizar datos y solucionar problemas. Genera consultas KQL de ejemplo basadas en preguntas, como "¿Hay algún error en los registros de contenedor?". | |
Supervisión de rendimiento de aplicaciones | Vista inteligente del mapa de aplicación | Asigna dependencias entre servicios y le ayuda a detectar los cuellos de botella en el rendimiento o las zonas activas con error en todos los componentes de la aplicación distribuida. |
Detección inteligente | Analiza la telemetría que la aplicación envía a Application Insights, alertas sobre problemas de rendimiento y anomalías de errores, e identifica posibles causas principales de problemas de rendimiento de aplicaciones. | |
Alertas de métricas | Umbrales dinámicos para alertas de métricas | Aprende patrones de métricas, establece automáticamente umbrales de alerta en función de los datos históricos e identifica anomalías que podrían indicar problemas de servicio. |
Conjuntos de escalado de máquinas virtuales | Escalabilidad automática predictiva | Prevé los requisitos generales de CPU de un conjunto de escalado de máquinas virtuales, en función de los patrones históricos de uso de CPU, y escala horizontalmente y automáticamente para satisfacer estas necesidades. |
Aprendizaje automático en los registros de Azure Monitor
Use funciones, operadores y complementos de análisis de series temporales y aprendizaje automático integrados de Lenguaje de consulta Kusto para obtener información sobre el estado del servicio, el uso, la capacidad y otras tendencias, así como para generar previsiones y detectar anomalías en los registros de Azure Monitor.
Para obtener mayor flexibilidad y ampliar la capacidad de analizar y actuar sobre los datos, también puede implementar su propia canalización de aprendizaje automático en los datos de los registros de Azure Monitor.
En esta tabla se comparan las ventajas y limitaciones del uso de las funcionalidades de aprendizaje automático integradas de KQL y de crear su propia canalización de aprendizaje automático, y proporciona vínculos a tutoriales que muestran cómo puede implementar cada una de ellas:
Funcionalidades de aprendizaje automático de KQL integradas | Crear su propia canalización de aprendizaje automático | |
---|---|---|
Escenario | ✅ Detectar anomalías, causas principales y análisis de series temporales |
✅ Detectar anomalías, causas principales y análisis de series temporales ✅Escenarios avanzados de análisis y AIOPs |
Ventajas | 🔹Le permite empezar muy rápidamente. 🔹No se requieren conocimientos de ciencia de datos ni habilidades de programación. 🔹 Rendimiento óptimo y ahorro en costes. |
🔹Admite escalas más grandes. 🔹Habilita escenarios avanzados y más complejos. 🔹Flexibilidad en la elección de bibliotecas, modelos y parámetros. |
Límites de servicio y volúmenes de datos | Azure Portal o los límites de consulta de registro de la API de consulta en función de si trabaja en el portal o usa la API, por ejemplo, desde un cuaderno. | 🔹Límites de consulta del registro de la API de consulta si se consultan datos en los registros de Azure Monitor como parte de la canalización de aprendizaje automático. De lo contrario, no hay límites de servicio de Azure. 🔹Puede admitir volúmenes de datos más grandes. |
Integración | No se requiere ninguna. Ejecute mediante Log Analytics en el Azure Portal o desde Jupyter Notebook integrado. | Requiere la integración con una herramienta, como Jupyter Notebook. Normalmente, también se integraría con otros servicios de Azure, como Azure Synapse Analytics. |
Rendimiento | Rendimiento óptimo, mediante la plataforma Azure Data Explorer, que se ejecuta a gran escala de forma distribuida. | Presenta una pequeña cantidad de latencia al consultar o exportar datos, en función de cómo implemente la canalización de aprendizaje automático. |
Tipo de modelo | Modelo de regresión lineal y otros modelos admitidos por las funciones de serie temporal de KQL con un conjunto de parámetros configurables. | Modelo de aprendizaje automático completamente personalizable o método de detección de anomalías. |
Costo | Sin costo adicional. | En función de cómo implemente la canalización de aprendizaje automático, puede incurrir en cargos por exportar datos, ingerir datos puntuados en registros de Azure Monitor y usar otros servicios de Azure. |
Tutorial | Detectar y analizar anomalías mediante funcionalidades de aprendizaje automático de KQL en Azure Monitor | Analizar datos en registros de Azure Monitor mediante un cuaderno |
Crear su propia canalización de aprendizaje automático en datos de registros de Azure Monitor
Cree su propia canalización de aprendizaje automático en los datos de los registros de Azure Monitor para introducir nuevas funcionalidades de AIOps y admitir escenarios avanzados, como:
- Búsqueda de ataques de seguridad con modelos más sofisticados que los de KQL.
- Detección de problemas de rendimiento y solución de errores en una aplicación web.
- Creación de flujos de varios pasos, ejecutando código en cada paso en función de los resultados del paso anterior.
- Automatización del análisis de los datos de registro de Azure Monitor y suministro de información sobre varias áreas, como el estado de la infraestructura y el comportamiento del cliente.
- Correlación de datos en los registros de Azure Monitor con datos de otros orígenes.
Hay dos enfoques para que los datos de los registros de Azure Monitor estén disponibles para la canalización de aprendizaje automático:
Consultar datos en los registros de Azure Monitor - Integre un cuaderno con registros de Azure Monitor o ejecute un script o una aplicación en los datos de registro mediante bibliotecas como la biblioteca cliente de consulta de Azure Monitor o MSTICPY para recuperar datos de los registros de Azure Monitor en formato tabular; por ejemplo, en un DataFrame de Pandas. Los datos que consulta se recuperan en un objeto en memoria del servidor, sin exportar los datos del área de trabajo de Log Analytics.
Nota
Es posible que tenga que convertir formatos de datos como parte de la canalización. Por ejemplo, para usar bibliotecas basadas en Apache Spark, como SynapseML, es posible que tenga que convertir Pandas en PySpark DataFrame.
Exportar datos de los registros de Azure Monitor - Exporte datos del área de trabajo de Log Analytics, normalmente a una cuenta de Blob Storage, e implemente la canalización de aprendizaje automático mediante una biblioteca de aprendizaje automático.
En esta tabla se comparan las ventajas y limitaciones de los enfoques para recuperar datos de la canalización de aprendizaje automático:
Consultar datos en los registros de Azure Monitor | Exportar datos | |
---|---|---|
Ventajas | 🔹Le permite empezar rápidamente. 🔹Solo requiere conocimientos básicos de ciencia de datos y programación. 🔹Latencia mínima y ahorro de costes. |
🔹Admite escalas más grandes. 🔹Sin limitaciones de consulta. |
¿Datos exportados? | No | Sí |
Límites de servicio | Límites de consulta de registro de API de consulta y limitación de consulta del usuario. Se pueden superar los límites de la API de consulta hasta cierto punto, dividiendo las consultas de mayor tamaño en fragmentos. | Ninguno de Azure Monitor. |
Volúmenes de datos | Analice varios GB de datos o unos pocos millones de registros por hora. | Admite grandes volúmenes de datos. |
Biblioteca de aprendizaje automático | Para conjuntos de datos pequeños o medianos, normalmente se usan bibliotecas de aprendizaje automático de un solo nodo, como Scikit Learn. | Para conjuntos de datos grandes, normalmente se usan bibliotecas de aprendizaje automático de macrodatos, como SynapseML. |
Latency | Es mínima. | Presenta una pequeña cantidad de latencia en la exportación de datos. |
Costo | Sin cargos adicionales en Azure Monitor. Coste de Azure Synapse Analytics, Azure Machine Learning u otro servicio, si se usa. |
Coste de exportación de datos y almacenamiento externo. Coste de Azure Synapse Analytics, Azure Machine Learning u otro servicio, si se usa. |
Sugerencia
Para beneficiarse de lo mejor de ambos enfoques de implementación, cree una canalización híbrida. Un enfoque híbrido común consiste en exportar datos para la formación de modelos, lo que implica grandes volúmenes de datos, y utilizar los datos de consulta en el enfoque de Azure Monitor Logs para explorar datos y puntuar nuevos datos con el fin de reducir la latencia y los costes.
Implementar los pasos del ciclo de vida de aprendizaje automático en los registros de Azure Monitor
La configuración de un proceso de aprendizaje automático suele implicar todos o algunos de los pasos que se describen a continuación.
Hay varias bibliotecas de aprendizaje automático de Azure y de código abierto que puede utilizar para implementar la canalización de aprendizaje automático, como Scikit Learn, PyTorch, Tensorflow, Spark MLlib y SynapseML.
En esta tabla se describe cada paso y se proporcionan instrucciones de alto nivel y algunos ejemplos de cómo implementar estos pasos en función de los enfoques de implementación descritos en Crear su propia canalización de aprendizaje automático en datos de registros de Azure Monitor:
Paso | Descripción | Consultar datos en los registros de Azure Monitor | Exportar datos |
---|---|---|---|
Exploración de datos | Examine y comprenda los datos recopilados. | La manera más sencilla de explorar los datos es usar Log Analytics, que proporciona un amplio conjunto de herramientas para explorar y visualizar datos en Azure Portal. También es posible Analizar datos en registros de Azure Monitor mediante un cuaderno. | Para analizar registros fuera de Azure Monitor, exporte datos fuera del área de trabajo de Log Analytics y configure el entorno en el servicio que elija. Para obtener un ejemplo de cómo explorar registros fuera de Azure Monitor, consulte Analizar datos exportados de Log Analytics mediante Synapse. |
Compilar y entrenar un modelo de Machine Learning | El entrenamiento del modelo es un proceso iterativo. Los investigadores o científicos de datos desarrollan un modelo capturando y limpiando los datos de entrenamiento, diseñando características, probando varios modelos y ajustando parámetros, y repitiendo este ciclo hasta que el modelo es preciso y sólido. | Para conjuntos de datos pequeños o medianos, se suelen utilizar bibliotecas de aprendizaje automático de un solo nodo, como Scikit Learn. Para ver un ejemplo de cómo entrenar un modelo de aprendizaje automático en los datos de los registros de Azure Monitor mediante la biblioteca Scikit Learn, consulte este cuaderno de ejemplo: Detectar anomalías en los registros de Azure Monitor mediante técnicas de aprendizaje automático. |
Para conjuntos de datos grandes, normalmente se usan bibliotecas de aprendizaje automático de macrodatos, como SynapseML. |
Implementar y puntuar un modelo | La puntuación es el proceso de aplicar un modelo de aprendizaje automático en nuevos datos para obtener predicciones. La puntuación normalmente debe realizarse a gran escala con una latencia mínima. | Para consultar nuevos datos en los registros de Azure Monitor, use la biblioteca cliente de consultas de Azure Monitor. Para ver un ejemplo de cómo puntuar datos mediante herramientas de código abierto, consulte este cuaderno de ejemplo: Detectar anomalías en los registros de Azure Monitor mediante técnicas de aprendizaje automático. |
|
Ejecutar la canalización según la programación | Automatice la canalización para volver a entrenar el modelo periódicamente en los datos actuales. | Programe la canalización de aprendizaje automático con Azure Synapse Analytics o Azure Machine Learning. | Consulte los ejemplos de la columna Consultar datos en los registros de Azure Monitor . |
La ingesta de resultados puntuados en un área de trabajo de Log Analytics permite usar los datos para obtener información avanzada y crear alertas y paneles. Para obtener un ejemplo de cómo ingerir resultados puntuados mediante la biblioteca cliente de ingesta de Azure Monitor, consulte Ingerir anomalías en una tabla personalizada en el área de trabajo de Log Analytics.
Pasos siguientes
Más información sobre: