Estrategia de monitoreo - wandent/mutual-wiki GitHub Wiki
#Estrategia de monitoreo
[[TOC]]
Contar con información sobre el desempeño y la auditoría de los componentes de un proyecto de Lago de Datos es fundamental para garantizar que se está cumpliendo con los requerimientos de seguridad y rendimiento esperado. Por tal motivo, se establece una estrategia de monitoreo apoyado en el componente Core de Azure para temas de seguimiento de componentes: Azure Monitor
- Los componentes Databricks, Key Vault, Data Factory, Data Catalog, SQL y Database (en serverless es el componente de SQL Server) pueden ser configurados para enviar los registros de métricas y acciones auditables a un espacio de trabajo de Log Analytics y/o una cuenta de almacenamiento estándar (sin característica de Data Lake). Se configura para enviar hasta por un año a una cuenta de almacenamiento destinada para diagnóstico y que se envíe en cuanto se genere la información al espacio de trabajo de Log Analytics. Véase Log Analytics para más información sobre el área de trabajo.
- Las cuentas de almacenamiento de la solución generan sus logs de auditoría dentro de las mismas en un contenedor especial llamado "$logs", este contenedor puede ser visto desde el Storage Explorer o copiado a otra ruta que normalmente si es accesible. En la solución, los datos son copiados de forma incremental basado en la fecha de última modificación de los archivos en blob Storage usando Data Factory a la cuenta de diagnóstico designada.
- La cuenta designada para diagnóstico cuenta con una política para borrar los datos con posterioridad a 365 días sobre el contenedor de audit.
- Será Data Factory el componente orquestador para garantizar que se ejecute la extracción programada de la auditoría de las cuentas de almacenamiento hacia la cuenta de diagnóstico. El nombre del flujo es
CopyLogsFromStorageAccount
, este pipeline copia de forma incremental usando el campo de última actualización y teniendo en cuenta la fecha actual - las horas especificadas a restar. - Habrá un flujo diario ejecutándose para garantizar que se traen los datos de las últimas 24 horas.
- Toda información que llegue la cuenta de almacenamiento de diagnóstico via la configuración será retenida por 365 días. En Log Analytics la información será retenida por 365 días.
- Databricks contará con varios mecanismos de monitoreo. A nivel de auditoría, la información de diagnóstico que es capturada es enviada a la cuenta de almacenamiento de diagnóstico. El monitoreo del clúster se realizará por medio de Ganglia (véase: página proyecto Ganglia) la cual ofrece información sobre la salud del clúster y los consumos de recursos físicos. A nivel de aplicación, será responsabilidad de los implementadores de notebook garantizar que se envíe información de rendimiento de sus procesos y captura de errores por medio de Application Insights (véase App Insights). Un ejemplo para implementar Application Insights con Databricks puede ser encontrado aquí.
- Desde Log Analytics se visualizará los logs enviados y la información de Application Insights por medio de la característica de consultas cruzadas (véase Consultas cruzadas sobre el espacio de trabajo). Log Analytics permite formular consultas en lenguaje Kusto (véase Kusto, referencia) luego construir visualizaciones y formular libros de trabajo que pueden ser básicamente un conjunto de gráficos y acciones a ejecutar. El componente cuenta con aplicaciones preconstruidas para visualizar un conjunto de métricas. Se instalan dos aplicaciones de visualización:
- Componente de visualización para Data Factory, más información en: Azure Monitor y Data Factory.
- Componente de visualización para SQL Database.
- Finalmente, las consultas de Log Analytics pueden ser conectadas a Power BI, donde junto con la información de auditoría presente en la cuenta de almacenamiento designada es posible construir reportes que combinen la información de todos los componentes, véase Power + Log Analytics para ver los pasos de conexión.
Dentro del componente la configuración se encuentra en Diagnostic Settings
Dentro del espacio de Log Analytics, en el menú de navegación vertical de la izquierda General - Workbooks - AzureDataFactoryAnalytics
Hay varias visualizaciones preconstruidas de utilidad
Dentro del espacio de Log Analytics, en el menú de navegación vertical de la izquierda General - Solutions - SQLAuditing
- lastHours: Entero negativo para representar el pasado de los datos que se van a traer, utc.now + lasthours.
- sourcePath: Ruta para el contenedor $logs de las cuentas de almacenamiento.
- costsDest: Ruta en destino para la cuenta de costos
- datalakeDest: Ruta en destino para la cuenta de Data Lake (no incluye landing).
- externoDest: Ruta en destino para la cuenta de datos externos.
- diagDest: Ruta en destino para los logs de la cuenta de diagnóstico.
- landDest: Ruta en destino para la cuenta de landing.