Microsoft SQL Server

La integración de Microsoft SQL Server recopila las transacciones, las conexiones y otras métricas de las instancias de SQL Server.

Para obtener más información sobre SQL Server, consulta la documentación de SQL Server.

Antes de comenzar

La versión 2.15.0 del agente de operaciones presenta compatibilidad con un conjunto nuevo de métricas de SQL mediante el prefijo workload.googleapis.com/. Debes configurar el agente para que recopile estas métricas, como se describe en la configuración de ejemplo.

El agente de operaciones siempre admite un conjunto limitado de métricas de SQL Server; estas métricas usan el prefijo agent.googleapis.com/mssql/. No se necesita ninguna configuración adicional para recopilar estas métricas en las VM de Windows.

En este documento, se hace referencia a las métricas con el prefijo agent como las métricas v1 y a las métricas con el prefijo workload como las métricas v2.

  • Las métricas de la v1 incluyen información sobre el ritmo de transacciones y el recuento de conexiones.
  • Las métricas de la v2 incluyen información sobre el recuento de conexiones de usuarios, páginas, lotes y páginas a nivel de instancia, y la información de registro de transacciones y transacciones a nivel de la base de datos.

Para ver las tablas de estas métricas, consulta Qué se supervisa.

A partir de la versión 2.15.0 del agente de operaciones, puedes configurar el agente para recopilar métricas v1, métricas v2 o ambas.

Requisitos previos

Para recopilar la telemetría de SQL Server, debes instalar el agente de operaciones:

  • Para las métricas de la versión 1, instala la versión 1.0.0 o superior.
  • Para las métricas de v2, instala la versión 2.15.0 o una posterior.

Esta integración es compatible con las versiones 11.x, 12.x, 13.x, 14.x y 15.x de SQL Server.

Configura el agente de operaciones para SQL Server

Cuando se usa el agente de operaciones en una VM de Microsoft Windows, el agente recopila las métricas v1 de SQL Server de forma automática. No es necesario realizar ninguna configuración adicional.

Mediante la guía Configura el agente de operaciones, agrega los elementos necesarios para recopilar telemetría de instancias de SQL Server y reinicia el agente.

Después de configurar una instancia de SQL Server nueva, es posible que no veas la visualización de las métricas inmediato en el Explorador de métricas. El agente de operaciones comienza a recopilar métricas de SQL Server solo después de que haya actividad en la base de datos que se informe.

Configuración de ejemplo

Mediante el siguiente comando, se crea la configuración a fin de recopilar y transferir la telemetría para SQL Server y se reinicia el agente de operaciones.

$ErrorActionPreference = 'Stop'

# This config gets merged with the built-in Ops Agent config, which already
# includes the v1 receiver in the default pipeline.
# Because the v2 receiver here uses a unique ID, it does not overwrite
# the default receiver and so both receivers will be active simultaneously
# during the test.

# Create a back up of the existing file so existing configurations are not lost.
Copy-Item -Path 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' -Destination 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml.bak'

# Configure the Ops Agent.
Add-Content 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' "
metrics:
  receivers:
    mssql_v2:
      type: mssql
      receiver_version: 2
  service:
    pipelines:
      mssql_v2:
        receivers:
        - mssql_v2
"

# Stop-Service may fail if the service isn't in a Running state yet.
(Get-Service google-cloud-ops-agent*).WaitForStatus('Running', '00:03:00')
Stop-Service google-cloud-ops-agent -Force
Start-Service google-cloud-ops-agent*

Configura la recopilación de métricas v1

El agente de operaciones en una VM de Microsoft Windows recopila de forma automática las métricas de SQL Server v1. No es necesario realizar ninguna configuración adicional. Para obtener información sobre la recopilación solo métricas de v2, consulta Configura la recopilación de métricas v2.

Después de configurar una instancia de SQL Server nueva, es posible que SQL Server no informe de inmediato ninguna métrica. El agente de operaciones comienza a recopilar métricas de SQL Server una vez que haya actividad de la base de datos para informar.

Configura la recopilación de métricas v2

Para transferir las métricas v2 desde SQL Server, debes crear un receptor para las métricas que produce SQL Server y, luego, crear una canalización para el receptor nuevo.

Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para supervisar varios extremos. Todas estas instancias escriben en las mismas series temporales, y Cloud Monitoring no tiene forma de distinguirlas. El Agente de operaciones no es compatible con instancias con nombre de SQL Server.

A fin de configurar un receptor para las métricas de mssql, especifica los siguientes campos:

Campo Predeterminado Descripción
collection_interval 60s Un valor time.Duration, como 30s o 5m.
receiver_version La versión de las métricas recopiladas Usa 2 para recopilar métricas de la versión 2.
type Este valor debe ser mssql.

De forma predeterminada, las métricas v1 se recopilan de forma automática. Puedes aumentar las métricas de v1 si recopilas solo las métricas de v2 o puedes anular las métricas de v1 para recopilar solo las métricas de v2.

  • Para recopilar solo métricas de la versión 2, haz lo siguiente:

    • Asigna el nombre mssql al receptor.
    • Configura el campo type como mssql.
    • Configura el campo receiver_version como 2.
    • Usa este receptor en tu canalización de default_pipeline. Esta configuración anula la configuración integrada del receptor mssql.
  • Para recopilar las métricas de v1 y v2, haz lo siguiente:

    • Asigna un nombre que no sea mssql a tu receptor, como mssql_v2.
    • Configura el campo type como mssql.
    • Establece receiver_version en “2”.
    • Usa este receptor en tu canalización nueva. Esta configuración agrega un receptor v2 en lugar de anular el receptor integrado. La secuencia de comandos en la Configuración de ejemplo usa este enfoque.

Qué se supervisa

A partir de la versión 2.15.0, el agente de operaciones puede recopilar dos conjuntos de métricas diferentes:

  • Métricas de v1: agent.googleapis.com/mssql/.
  • Métricas de v2: workload.googleapis.com/.
Métricas de V1

En la siguiente tabla, se proporciona una lista de las métricas v1 que recopila el agente de operaciones desde la instancia de SQL Server.

Las strings de “tipo de métrica” de esta tabla deben tener el prefijo agent.googleapis.com/mssql/. Este prefijo se omitió en las entradas de la tabla. Cuando consultes una etiqueta, usa el prefijo metric.labels.. Por ejemplo, metric.labels.LABEL="VALUE".

Tipo de métrica Etapa de lanzamiento
Nombre visible
Clase, tipo, unidad
Recursos supervisados
Descripción
Etiquetas
connections/user GA
Conexiones abiertas de SQL Server
GAUGEDOUBLE1
aws_ec2_instance
gce_instance
Conexiones abiertas a SQL Server actualmente. Se tomaron muestras cada 60 segundos.
transaction_rate GA
Tasa de transacciones de SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
Transacciones totales de SQL Server por segundo. Se tomaron muestras cada 60 segundos.
write_transaction_rate GA
Tasa de transacciones de escritura de SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
Transacciones de escritura de SQL Server por segundo. Se tomaron muestras cada 60 segundos.

Tabla generada el 17/04/2024 a las 21:38:09 UTC.

Métricas de V2

En la siguiente tabla, se proporciona una lista de las métricas de la v2 que recopila el agente de operaciones de SQL Server.

Tipo de métrica 
Categoría, tipo
Recursos supervisados
Etiquetas
workload.googleapis.com/sqlserver.batch.request.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_compilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_recompilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait_time.avg
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.buffer_cache.hit_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.checkpoint.flush.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.lazy_write.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.life_expectancy
GAUGEINT64
gce_instance
 
workload.googleapis.com/sqlserver.page.operation.rate
GAUGEDOUBLE
gce_instance
type
workload.googleapis.com/sqlserver.page.split.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.transaction.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction.write.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.data.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.wait.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.growth.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.percent_used
GAUGEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.shrink.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.user.connection.count
GAUGEINT64
gce_instance
 

Verifica la configuración

En esta sección, se describe cómo verificar que hayas configurado el receptor de SQL Server de forma correcta. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.

Para verificar que las métricas de SQL Server se envíen a Cloud Monitoring, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Explorador de métricas:

    Ir al Explorador de métricas

  2. En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea  MQL o  PromQL.
  3. Verifica que MQL esté seleccionado en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
    • Para las métricas de v1, escribe la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:
      fetch gce_instance
      | metric 'agent.googleapis.com/mssql/connections/user'
      | every 1m
      
    • Para las métricas de v2, ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar:
      fetch gce_instance
      | metric 'workload.googleapis.com/sqlserver.user.connection.count'
      | every 1m
      

Ver panel

Para ver tus métricas de SQL Server, debes tener configurado un gráfico o un panel. La integración de SQL Server incluye uno o más paneles. Cualquier panel se instala de forma automática después de que configuras la integración y de que el agente de operaciones comienza a recopilar datos de métricas.

También puedes ver vistas previas estáticas de los paneles sin instalar la integración.

Para ver un panel instalado, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Paneles:

    Ir a Paneles

  2. Selecciona la pestaña Lista de paneles y, luego, la categoría Integraciones.
  3. Haz clic en el nombre del panel que quiera ver.

Si configuraste una integración, pero el panel no se instaló, verifica que el agente de operaciones se esté ejecutando. Cuando no hay datos de métricas para un gráfico en el panel, la instalación del panel falla. Una vez que el agente de operaciones comienza a recopilar métricas, el panel se instalará por ti.

Para obtener una vista previa estática del panel, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Integraciones:

    Ir a Integraciones

  2. Haz clic en el filtro de la plataforma de implementación Compute Engine.
  3. Busca la entrada para SQL Server y haz clic en Ver detalles.
  4. Selecciona la pestaña Paneles para ver una vista previa estática. Si el panel está instalado, haz clic en Ver panel para navegar a él.

Para obtener más información de los paneles en Cloud Monitoring, consulta Paneles y gráficos.

Para obtener más información del uso de la página Integraciones, consulta Administra integraciones.

Instala políticas de alertas

Las políticas de alertas le indican a Cloud Monitoring que te notifique cuando ocurren condiciones especificadas. La integración de SQL Server incluye una o más políticas de alertas para que uses. Puedes ver e instalar estas políticas de alertas desde la página Integraciones en Monitoring.

Para ver las descripciones de las políticas de alertas disponibles y, luego, instalarlas, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Integraciones:

    Ir a Integraciones

  2. Busca la entrada para SQL Server y haz clic en Ver detalles.
  3. Selecciona la pestaña Alertas. En esta pestaña, se proporcionan descripciones de las políticas de alertas disponibles y una interfaz para instalarlas.
  4. Instala las políticas de alertas. Las políticas de alertas deben saber a dónde enviar notificaciones que la alerta se activó, por lo que requieren información de ti para la instalación. Para instalar las políticas de alertas, haz lo siguiente:
    1. En la lista de políticas de alertas disponibles, elige las que deseas instalar.
    2. En la sección Configura notificaciones, elige uno o más canales de notificaciones. Tienes la opción de inhabilitar el uso de los canales de notificación, pero si lo haces, las políticas de alertas se activarán de forma silenciosa. Puedes verificar su estado en Monitoring, pero no recibirás notificaciones.

      Para obtener más información de los canales de notificaciones, consulta Administra canales de notificaciones.

    3. Haz clic en Crear políticas.

Para obtener más información de las políticas de alertas en Cloud Monitoring, consulta Introducción a las alertas.

Para obtener más información del uso de la página Integraciones, consulta Administra integraciones.

¿Qué sigue?

Para obtener una explicación sobre cómo usar Ansible para instalar el agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el agente de operaciones para solucionar problemas de apps de terceros.