Supervisión de Azure SQL Database

En este artículo se describe:

  • Los tipos de datos de supervisión que puede recopilar para este servicio.
  • Formas de analizar esos datos.

Nota:

Si ya está familiarizado con este servicio o Azure Monitor y solo quiere saber cómo analizar los datos de supervisión, consulte la sección Analizar cerca del final de este artículo.

Cuando tenga aplicaciones críticas y procesos empresariales que dependan de los recursos de Azure, deberá supervisar y obtener alertas para el sistema. El servicio Azure Monitor recopila y agrega métricas y registros de todos los componentes del sistema. Azure Monitor proporciona una vista de la disponibilidad, el rendimiento y la resistencia, y le notifica los problemas. Puede usar Azure Portal, PowerShell, la CLI de Azure, la API de REST o las bibliotecas cliente para configurar y ver los datos de supervisión.

El motor de base de datos de SQL Server tiene sus propias funcionalidades de supervisión y diagnóstico que usa Azure SQL Database, como el almacén de consultas y las vistas de administración dinámica (DMV). Para obtener más información, consulte Supervisión del rendimiento mediante el Almacén de consultas y Supervisión del rendimiento de Azure SQL Database mediante vistas de administración dinámica.

Para obtener una explicación detallada de todos los aspectos de supervisión y rendimiento de Azure SQL Database y Azure SQL Managed Instance, consulte Supervisión y ajuste del rendimiento en Azure SQL Database y Azure SQL Managed Instance.

Importante

Para obtener un conjunto de reglas de alerta recomendadas, consulta Supervisión de azure SQL Database con métricas y alertas de Azure Monitor.

Información detallada

Algunos servicios de Azure tienen un panel de supervisión integrado en Azure Portal que proporciona un punto de partida para supervisar el servicio. Estos paneles se denominan información, y puede encontrarlos en el Centro de información de Azure Monitor en Azure Portal.

Azure Monitor SQL Insights (versión preliminar)

Puede configurar Azure Monitor SQL Insights para métricas específicas de SQL para Azure SQL Database, Azure SQL Managed Instance y SQL Server en máquinas virtuales de Azure. Para obtener más información sobre Azure Monitor SQL Insights para todos los productos de la familia de Azure SQL, consulte Supervisión de las implementaciones de SQL mediante SQL Insights (versión preliminar).

Para obtener más información sobre cómo usar SQL Insights, consulte los artículos siguientes:

Información inteligente

Intelligent Insights para Azure SQL Database y Azure SQL Managed Instance es diferente de Azure Monitor SQL Insights. Intelligent Insights usa inteligencia artificial para supervisar continuamente el uso de la base de datos y detectar eventos perjudiciales que provoquen un rendimiento bajo. Intelligent Insights genera un registro de recursos denominado SQL Insights que proporciona una evaluación inteligente, análisis de causa principal y recomendaciones de mejora del rendimiento.

Para obtener más información, consulte Intelligent Insights con inteligencia artificial para supervisar y solucionar problemas de rendimiento de base de datos (versión preliminar) y Uso del registro de diagnóstico de rendimiento de Intelligent Insights.

Información de rendimiento de consultas

Información de rendimiento de consultas usa el Almacén de consultas de SQL Server para proporcionar análisis de consultas inteligentes e información sobre la elección y el rendimiento del plan de consulta para bases de datos únicas y agrupadas. Para más información, consulte Información de rendimiento de consultas para Azure SQL Database.

Tipos de recursos

Azure usa el concepto de tipos de recursos e identificadores para identificar todo el contenido de una suscripción. De forma similar, Azure Monitor organiza los datos principales de supervisión en métricas y registros en función de tipos de recursos, que también se denominan espacios de nombres. Hay diferentes métricas y registros disponibles para distintos tipos de recursos. Es posible que el servicio esté asociado a más de un tipo de recurso.

Los tipos de recursos también forman parte de los identificadores de recursos para cada recurso que se ejecuta en Azure. Por ejemplo, un tipo de recurso para una máquina virtual es Microsoft.Compute/virtualMachines. Para obtener una lista de los servicios y sus tipos de recursos asociados, consulte Proveedores de recursos.

Para obtener más información sobre los tipos de recursos para SQL Database, consulte Referencia de datos de supervisión de SQL Database.

Almacenamiento de datos

Para Azure Monitor:

  • Los datos de métricas se almacenan en la base de datos de métricas de Azure Monitor.
  • Los datos de registro se almacenan en el almacén de registros de Azure Monitor. Log Analytics es una herramienta de Azure Portal que puede hacer consultas en este almacén.
  • El registro de actividad de Azure es un almacén independiente con su propia interfaz en Azure Portal.

Opcionalmente, puede enrutar los datos del registro de actividad y métricas al almacén de registros de Azure Monitor. A continuación, puede usar Log Analytics para consultar los datos y correlacionarlos con otros datos de registro.

Muchos servicios pueden usar la configuración de diagnóstico para enviar datos de métricas y de registro a otras ubicaciones de almacenamiento fuera de Azure Monitor. Algunos ejemplos son Azure Storage, sistemas de asociados hospedados, y sistemas asociados que no son de Azure mediante Event Hubs.

Para obtener información detallada sobre cómo Azure Monitor almacena datos, consulte Plataforma de datos de Azure Monitor.

Métricas de plataforma de Azure Monitor

Azure Monitor proporciona métricas de plataforma para la mayoría de los servicios. Estas son las métricas:

  • Se define individualmente para cada espacio de nombres.
  • Almacenado en la base de datos de métricas de serie temporal de Azure Monitor.
  • Ligero y capaz de admitir alertas casi en tiempo real.
  • Se usa para supervisar el rendimiento de un recurso a lo largo del tiempo.

Recopilación: Azure Monitor recopila automáticamente las métricas de la plataforma. No se requiere ninguna configuración.

Enrutamiento: También puede enrutar las métricas de la plataforma a registros de Azure Monitor o Log Analytics para que pueda consultarlas con otros datos de registro. Para más información, consulta el valor Diagnóstico de métricas. Para obtener información sobre cómo configurar las opciones de diagnóstico de un servicio, consulta Creación de valores de diagnóstico en Azure Monitor.

Para obtener una lista de todas las métricas que es posible recopilar para todos los recursos de Azure Monitor, consulte Métricas admitidas en Azure Monitor.

Métricas de Azure SQL Database

Puede usar métricas para supervisar el consumo y el estado de los recursos del grupo elástico y la base de datos. Por ejemplo, puede hacer lo siguiente:

  • Ajustar el tamaño adecuado de la base de datos o el grupo elástico a la carga de trabajo de la aplicación
  • Detección de un aumento gradual del consumo de recursos y escalado vertical de forma proactiva la base de datos o el grupo elástico
  • Detección y solución de problemas de rendimiento

Para obtener una lista y descripciones de las métricas usadas habitualmente en Azure SQL Database, consulte Métricas de Azure SQL Database.

Para ver tablas de todas las métricas disponibles para SQL Database, consulte Referencia de datos de supervisión de SQL Database.

Registros de recursos de Azure Monitor

Los registros de recursos proporcionan información sobre las operaciones realizadas por un recurso de Azure. Los registros se generan automáticamente, pero debe enrutarlos a los registros de Azure Monitor para guardarlos o consultarlos. Los registros se organizan en categorías. Un espacio de nombres determinado puede tener varias categorías de registro de recursos.

Recopilación: los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico y se enrutan los registros a una o varias ubicaciones. Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar. Hay varias maneras de crear y mantener la configuración de diagnóstico, como Azure Portal, hacerlo mediante programación o usar Azure Policy.

Enrutamiento: el valor predeterminado sugerido es enrutar los registros de recursos a los registros de Azure Monitor para poder consultarlos con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información, consulte los Registros de recursos de Azure y los Destinos de registro de recursos.

Para obtener información detallada sobre cómo recopilar, almacenar y enrutar registros de recursos, consulte Configuración de diagnóstico en Azure Monitor.

Para obtener una lista de todas las categorías de registro de recursos disponibles en Azure Monitor, consulte Registros de recursos admitidos en Azure Monitor.

Todos los registros de recursos de Azure Monitor tienen los mismos campos de encabezado, seguidos de campos específicos del servicio. El esquema común se describe en Esquema de registros de recursos de Azure Monitor.

Registros de bases de datos de Azure SQL

Auditar en Azure SQL Database realiza un seguimiento de los eventos de la base de datos y los escriben en un registro de auditoría en su cuenta de almacenamiento de Azure, área de trabajo de Log Analytics o centro de eventos. Para obtener más información, consulte Auditoría de Azure SQL Database.

Para obtener más información sobre los registros de recursos y los diagnósticos disponibles para Azure SQL Database, consulte Configuración de la exportación de streaming de los datos de telemetría de diagnóstico.

Para conocer las categorías de registro de recursos disponibles, sus tablas de Log Analytics asociadas y los esquemas de registro para SQL Database, consulte Referencia de datos de supervisión de SQL Database.

Registro de actividades de Azure

El registro de actividad contiene eventos de nivel de suscripción que realizan el seguimiento de las operaciones de cada recurso de Azure, tal como se ve desde fuera de ese recurso; por ejemplo, crear un recurso o iniciar una máquina virtual.

Recopilación: los eventos del registro de actividad se generan y recopilan automáticamente en un almacén independiente para su visualización en Azure Portal.

Enrutamiento: puedes enviar datos del registro de actividad a los registros de Azure Monitor para poder analizarlos junto con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información sobre cómo enrutar el registro de actividad, consulte Información general del registro de actividad de Azure.

Analizar los datos de supervisión

Hay muchas herramientas para analizar los datos de supervisión.

Herramientas de Azure Monitor

Azure Monitor admite las siguientes herramientas básicas:

Entre las herramientas que permiten una visualización más compleja se incluyen:

  • Paneles que permiten combinar diferentes tipos de datos en un único panel de Azure Portal.
  • Libros: informes personalizables que se pueden crear en Azure Portal. Los libros pueden incluir texto, métricas y consultas de registro.
  • Grafana: una herramienta de plataforma abierta que se destaca en los paneles operativos. Puede usar Grafana para crear paneles que incluyan datos de varios orígenes distintos de Azure Monitor.
  • Power BI: un servicio de análisis empresarial que proporciona visualizaciones interactivas en varios orígenes de datos. Puede configurar Power BI para que los datos de registro se importen automáticamente desde Azure Monitor y utilizar estas otras adicionales.

Herramientas de exportación de Azure Monitor

Puede obtener datos de Azure Monitor en otras herramientas mediante los siguientes métodos:

Para empezar a trabajar con la API de REST para Azure Monitor, consulte Tutorial de la API de REST de supervisión de Azure.

Consultas de Kusto

Puedes analizar datos de supervisión en el almacén de registros de Azure Monitor o Log Analytics mediante el lenguaje de consulta Kusto (KQL).

Importante

Al seleccionar Registros en el menú del servicio del portal, Log Analytics se abre con el ámbito de consulta establecido en el servicio actual. Este ámbito significa que las consultas de registro solo incluirán datos de ese tipo de recurso. Si quiere ejecutar una consulta que incluya datos de otros servicios de Azure, seleccione Registros en el menú Azure Monitor. Consulte Ámbito e intervalo de tiempo de una consulta de registro en Log Analytics de Azure Monitor para obtener más información.

Para obtener una lista de las consultas comunes de cualquier servicio, consulte Interfaz de consultas de Log Analytics.

Nota:

Ocasionalmente, es posible que pasen hasta 15 minutos desde que se emite un evento hasta que aparece en un área de trabajo de Log Analytics.

Use las siguientes consultas para supervisar la base de datos. Es posible que veas diferentes opciones disponibles en función del modelo de compra.

Ejemplo A: Log_write_percent de la última hora

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName

Ejemplo B: Tipos de espera de SQL Server de los últimos 15 minutos

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(15min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_15mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s

Ejemplo C: Interbloqueos de SQL Server de los últimos 60 minutos

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName

Ejemplo D: Promedio de uso de CPU de la última hora

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize CPU_Maximum_last60mins = max(Maximum), CPU_Minimum_last60mins = min(Minimum), CPU_Average_last60mins = avg(Average) by Resource, MetricName

Alertas

Las alertas de Azure Monitor le informan de forma proactiva cuando se detectan condiciones específicas en los datos que se supervisan. Las alertas permiten identificar y solucionar las incidencias en el sistema antes de que los clientes puedan verlos. Para obtener más información, vea Alertas de Azure Monitor.

Hay muchos orígenes de alertas comunes para los recursos de Azure. Para obtener ejemplos de alertas comunes para recursos de Azure, consulte Consultas de alertas de registro de ejemplo. El sitio Alertas de línea base de Azure Monitor (AMBA) proporciona un método semiautomatizado para implementar importantes alertas de métricas de plataforma, paneles e instrucciones. El sitio se aplica a un subconjunto de servicios de Azure que se expande continuamente, incluidos todos los servicios que forman parte de la zona de aterrizaje de Azure (ALZ).

El esquema de alerta común normaliza el consumo de notificaciones de alerta de Azure Monitor. Para obtener más información, consulte Esquema de alertas comunes.

Tipos de alertas

Puede alertar sobre cualquier métrica o fuente de datos de registro en la plataforma de datos de Azure Monitor. Hay muchos tipos diferentes de alertas en función de los servicios que está supervisando y de los datos de supervisión que está recopilando. Los distintos tipos de alertas tienen varias ventajas y desventajas. Para obtener más información, consulte Elegir el tipo de alerta de supervisión adecuado.

En la siguiente lista se describen los tipos de alertas de Azure Monitor que puede crear:

  • Alertas de métricas: evalúan las métricas de recursos a intervalos regulares. Las métricas pueden ser métricas de plataforma, métricas personalizadas, registros de Azure Monitor convertidos en métricas o métricas de Application Insights. Las alertas de métricas también pueden aplicar varias condiciones y umbrales dinámicos.
  • Alertas de registro: permiten a los usuarios emplear una consulta de Log Analytics para evaluar los registros de recursos con una frecuencia predefinida.
  • Alertas del registro de actividad: se desencadenan cuando se produce un nuevo evento del registro de actividad que coincide con las condiciones definidas. Las alertas de Resource Health y de Service Health son alertas del registro de actividad que informan sobre el servicio y el estado de los recursos.

Algunos servicios de Azure también admiten alertas de detección inteligente, alertas de Prometheus, o reglas de alerta recomendadas.

Para algunos servicios, puede supervisar a escala aplicando la misma regla de alertas de métricas a varios recursos del mismo tipo que existen en la misma región de Azure. Se envían notificaciones individuales para cada recurso supervisado. Para obtener servicios y nubes de Azure compatibles, consulte Supervisión de varios recursos con una regla de alerta.

Reglas de alertas de SQL Database

En la tabla siguiente se enumeran las reglas de alertas comunes y recomendadas para SQL Database. Es posible que veas diferentes opciones disponibles en función del modelo de compra.

Nombre de señal Operator Tipo de agregación Valor del umbral Descripción
Porcentaje de DTU Mayor que Media 80 Cada vez que el porcentaje medio de DTU sea mayor que el 80 %
Porcentaje de E/S de registro Mayor que Media 80 Siempre que el porcentaje medio de E/S de registro sea mayor que el 80 %
Interbloqueos* Mayor que Count 1 Siempre que el recuento de interbloqueos sea mayor que 1.
Porcentaje de CPU Mayor que Media 80 Siempre que el porcentaje medio de CPU sea mayor que el 80 %

*Las alertas sobre interbloqueos pueden ser innecesarias y ruidosas en algunas aplicaciones en las que se esperan y controlan correctamente los interbloqueos.

Para obtener más reglas de alerta recomendadas y configuraciones de reglas de alerta típicas para SQL Database, consulte Supervisión de Azure SQL Database con métricas y alertas de Azure Monitor.

Recomendaciones de Advisor

Para algunos servicios, si se producen condiciones críticas o cambios inminentes durante las operaciones de recursos, se muestra una alerta en la página Información general del servicio del portal. Puede encontrar más información y correcciones recomendadas para la alerta en Recomendaciones de Advisor en Supervisión en el menú izquierdo. Durante las operaciones normales, no se muestran recomendaciones de Advisor.

Para más información sobre Azure Advisor, consulte Introducción a Azure Advisor.