Microsoft SQL Server

A integração do Microsoft SQL Server coleta transações, conexão e outras métricas das instâncias do SQL Server.

Para mais informações sobre o SQL Server, consulte a documentação do SQL Server.

Antes de começar

O agente de operações versão 2.15.0 apresenta compatibilidade com um novo conjunto de métricas do SQL Server usando o prefixo workload.googleapis.com/. Configure o agente para coletar essas métricas, conforme descrito em configuração de exemplo.

O agente de operações sempre foi compatível com um conjunto limitado de métricas do SQL Server. Essas métricas usam o prefixo agent.googleapis.com/mssql/. Nenhuma outra configuração é necessária para coletar essas métricas nas VMs do Windows.

Este documento refere-se às métricas com prefixo agent como métricas v1 e às métricas com prefixo workload como métricas v2.

  • As métricas da v1 incluem informações sobre a taxa de transações e a contagem de conexões.
  • As métricas da v2 incluem informações de lote, bloqueio, página e contagem de conexão do usuário no nível da instância, e informações de registro de transações no nível do banco de dados.

Para ver as tabelas dessas métricas, consulte O que é monitorado.

A partir do agente de operações versão 2.15.0, é possível configurar o agente para coletar métricas v1, métricas v2 ou ambas.

Pré-requisitos

Para coletar a telemetria do SQL Server, é necessário instalar o Agente de operações:

  • Para as métricas v1, instale a versão 1.0.0 ou posterior.
  • Para as métricas da v2, instale a versão 2.15.0 ou posterior.

Essa integração é compatível com SQL Server 11.x, 12.x, 13.x, 14.x e 15.x.

Configurar o agente de operações para o SQL Server

Ao usar o agente de operações em uma VM do Microsoft Windows, ele coleta automaticamente as métricas da v1 do SQL Server. Não é preciso fazer nenhuma configuração adicional.

Seguindo o guia para configurar o Agente de operações, adicione os elementos necessários para coletar a telemetria das instâncias do SQL Server e reinicie o agente.

Depois de configurar uma nova instância do SQL Server, você não verá imediatamente as métricas exibidas no Metrics Explorer. O agente de operações começa a coletar métricas do SQL Server somente depois que há atividade do banco de dados para relatar.

Exemplo de configuração

O comando a seguir cria a configuração para coletar e ingerir telemetria para o SQL Server e reinicia o agente de operações.

$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*

Configurar a coleta de métricas v1

O agente de operações em uma VM do Microsoft Windows coleta automaticamente as métricas do SQL Server da v1. Não é preciso fazer nenhuma configuração adicional. Para mais informações sobre como coletar apenas métricas v2, consulte Configurar a coleta de métricas v2.

Depois de configurar uma nova instância do SQL Server, é possível que o SQL Server não informe imediatamente as métricas. O agente de operações começa a coletar métricas do SQL Server após existir atividade de banco de dados a ser informada.

Configurar a coleta de métricas v2

Para ingerir métricas v2 do SQL Server, crie um receptor para as métricas que o SQL Server produz e, em seguida, crie um pipeline para o novo receptor.

Esse receptor não aceita o uso de várias instâncias na configuração, por exemplo, para monitorar vários endpoints. Todas essas instâncias gravam na mesma série temporal, e o Cloud Monitoring não tem como diferenciá-las. O agente de operações não oferece suporte a instâncias nomeadas do SQL Server.

Para configurar um receptor para suas métricas do mssql, especifique os campos a seguir:

Campo Padrão Descrição
collection_interval 60s Um valor de time.Duration, como 30s ou 5m.
receiver_version Versão das métricas coletadas; usar 2 para coletar métricas v2.
type Este valor precisa ser mssql.

Por padrão, as métricas da v1 são coletadas automaticamente. É possível aumentar as métricas da v1 coletando mais métricas v2 ou modificá-las para coletar apenas as métricas da v2.

  • Para coletar somente métricas da v2, faça o seguinte:

    • Nomeie seu receptor mssql.
    • Defina o campo type como mssql
    • Defina o campo receiver_version como 2
    • Use esse receptor no pipeline default_pipeline. Essa configuração substitui a configuração integrada do receptor mssql.
  • Para coletar as métricas v1 e v2, faça o seguinte:

    • Dê ao receptor um nome diferente de mssql, como mssql_v2.
    • Defina o campo type como mssql
    • Defina receiver_version como 2.
    • Use esse receptor no novo pipeline. Essa configuração adiciona um receptor v2 em vez de substituir o destinatário integrado. O script em configuração de exemplo usa essa abordagem.

O que é monitorado?

A partir da versão 2.15.0, o agente de operações pode coletar dois conjuntos diferentes de métricas:

  • As métricas da v1: agent.googleapis.com/mssql/.
  • As métricas da v2: workload.googleapis.com/.
Métricas da V1

Veja na tabela a seguir a lista de métricas da v1 que o agente de operações coleta da instância do SQL Server.

As strings "tipo de métrica" nesta tabela precisam ser prefixadas com agent.googleapis.com/mssql/. Esse prefixo foi omitido das entradas na tabela. Ao consultar um rótulo, use o prefixo metric.labels.. por exemplo, metric.labels.LABEL="VALUE".

Tipo de métrica Etapa do lançamento
Nome de exibição
Classe, Tipo, Unidade
Recursos monitorados
Descrição
Rótulos
connections/user GA
Conexões abertas do SQL Server
GAUGEDOUBLE1
aws_ec2_instance
gce_instance
As conexões abertas com o SQL Server estão abertas. Amostras coletadas a cada 60 segundos.
transaction_rate GA
Taxa de transação do SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
Total de transações do SQL Server por segundo. Amostras coletadas a cada 60 segundos.
write_transaction_rate GA
Taxa de transação de gravação do SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
Transações de gravação do SQL Server por segundo. Amostras coletadas a cada 60 segundos.

Tabela gerada em 27-06-2024 18:22:22 UTC.

Métricas da V2

A tabela a seguir fornece a lista de métricas da v2 que o agente de operações coleta da instância do SQL Server.

Tipo de métrica 
Tipo, tipo
Recursos monitorados
Rótulos
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
 

Verificar a configuração

Nesta seção, descrevemos como verificar se você configurou corretamente o receptor do SQL Server. Pode levar um ou dois minutos para que o agente de operações comece a coletar telemetria.

Para verificar se as métricas do SQL Server estão sendo enviadas para o Cloud Monitoring, faça o seguinte:

  1. No Console do Google Cloud, acesse a página do  Metrics Explorer:

    Acesse o Metrics explorer

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Na barra de ferramentas do painel do criador de consultas, selecione o botão  MQL ou  PromQL.
  3. Verifique se MQL está selecionado na opção de ativar/desativar Idioma. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
    • Para métricas da v1, insira a seguinte consulta no editor e clique em Executar:
      fetch gce_instance
      | metric 'agent.googleapis.com/mssql/connections/user'
      | every 1m
      
    • Para métricas da v2, insira a seguinte consulta no editor e clique em Executar:
      fetch gce_instance
      | metric 'workload.googleapis.com/sqlserver.user.connection.count'
      | every 1m
      

Ver painel

Para visualizar as métricas do SQL Server, é necessário ter um gráfico ou painel configurado. A integração do SQL Server inclui um ou mais painéis para você. Todos os painéis são instalados automaticamente depois que você configura a integração e o Agente de operações começa a coletar dados de métricas.

Também é possível ver visualizações estáticas de painéis sem instalar a integração.

Para ver um painel instalado, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Painéis:

    Acessar Painéis

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Selecione a guia Lista de painéis e escolha a categoria Integrações.
  3. Clique no nome do painel que você quer visualizar.

Se você configurou uma integração, mas o painel não foi instalado, verifique se o agente de operações está em execução. Quando não há dados de métricas para um gráfico no painel, a instalação do painel falha. Depois que o Agente de operações começar a coletar métricas, o painel será instalado para você.

Para acessar uma visualização estática do painel, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Integrações:

    Acessar Integrações

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Clique no filtro de plataforma de implantação do Compute Engine.
  3. Localize a entrada do SQL Server e clique em Visualizar detalhes.
  4. Selecione a guia Painéis para uma visualização estática. Se o painel estiver instalado, navegue até ele clicando em Ver painel.

Para mais informações sobre painéis no Cloud Monitoring, consulte Painéis e gráficos.

Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.

Instalar políticas de alertas

As políticas de alertas orientam o Cloud Monitoring a notificar você quando ocorrerem condições especificadas. A integração do SQL Server inclui uma ou mais políticas de alertas para você usar. É possível ver e instalar essas políticas de alertas na página Integrações no Monitoring.

Para visualizar e descrever as descrições de políticas de alertas disponíveis, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Integrações:

    Acessar Integrações

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Localize a entrada do SQL Server e clique em Visualizar detalhes.
  3. Selecione a guia Alertas. Essa guia apresenta descrições das políticas de alertas disponíveis e mostra uma interface para instalá-las.
  4. Instalar políticas de alertas. As políticas de alertas precisam saber para onde enviar as notificações de que o alerta foi acionado. Portanto, elas exigem informações para instalação. Para instalar políticas de alertas, faça o seguinte:
    1. Na lista de políticas de alertas disponíveis, selecione aquelas que você quer instalar.
    2. Na seção Configurar notificações, selecione um ou mais canais de notificação. Você pode desativar o uso dos canais de notificação, mas, se isso acontecer, as políticas de alertas vão ser disparadas silenciosamente. É possível verificar o status no Monitoring, mas não receber notificações.

      Para saber mais sobre canais de notificação, consulte Gerenciar canais de notificação.

    3. Clique em Criar políticas.

Para mais informações sobre políticas de alertas no Cloud Monitoring, consulte Introdução a alertas.

Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.

A seguir

Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.