• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Monitoramento do Windows RDS MSSQL com NRDOT

|View as Markdown (English)

Visualização

Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!

Atualmente, esse recurso é fornecido como parte de uma prévia, de acordo com nossas políticas de pré-lançamento.

Configure o monitoramento do Microsoft SQL Server usando o NRDOT Collector em ambientes Windows para monitorar instâncias do AWS RDS for SQL Server. Para monitorar em um ambiente auto-hospedado, consulte a instrumentação auto-hospedada do Windows.

Para instalar isso por meio da interface da New Relic, vá para one.newrelic.com > Integrations & Agents > MSSQL (OpenTelemetry) . Siga as instruções na tela para configurar a integração. Esta página abrange apenas o caminho de instalação da CLI.

Com base na sua configuração de segurança do RDS SQL Server, escolha os métodos de autenticação para conectar o NRDOT Collector à sua instância do RDS:

Pré-requisitos

Antes de monitorar seu Microsoft SQL Server com o NRDOT, certifique-se de que seu ambiente atenda a estes requisitos:

  • Conta do New Relic com uma chave de licençaválida

  • Endpoint OTLP da New Relic para sua região

  • Requisitos do AWS RDS SQL Server:

    • Autenticação do SQL Server habilitada na instância do RDS
    • Credenciais de usuário mestre do RDS ou credenciais para um login do SQL Server com a função rds_superuser
    • Grupo de segurança do RDS configurado para permitir conexões na porta 1433 ou em uma porta personalizada
    • SQL Server Management Studio (SSMS) ou utilitário sqlcmd
  • Conectividade de rede para o endpoint OTLP da New Relic

  • A URL do endpoint do seu RDS SQL Server, que pode ser encontrada no seu AWS RDS Console em Connectivity & security. Para obter mais informações, consulte a documentação do AWS RDS.

Inscreva-se para visualizar

Esta integração está disponível como parte do programa de visualização pública da New Relic. Entre em contato com o gerente da sua organização para aceitar na página Previews & Trials.

Instalar o NRDOT Collector

Instale o NRDOT Collector em uma instância do Windows no EC2 ou em uma máquina local do Windows que possa se conectar à sua instância do RDS SQL Server.

Importante

Para o monitoramento do RDS, instale o NRDOT Collector em uma instância de EC2 na mesma VPC que a sua instância do RDS para obter conectividade de rede ideal e menor latência.

Baixe e instale o NRDOT Collector usando o PowerShell:

bash
$
[Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'; $NRDOT_VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest").tag_name; $WebClient = New-Object System.Net.WebClient; $WebClient.Headers.Add("User-Agent", "Mozilla/5.0"); $WebClient.DownloadFile("https://github.com/newrelic/nrdot-collector-releases/releases/download/$NRDOT_VERSION/nrdot-collector_${NRDOT_VERSION}_windows_x64.msi", "$env:TEMP\nrdot-collector.msi"); Start-Process msiexec.exe -ArgumentList "/i `"$env:TEMP\nrdot-collector.msi`" /qn /norestart /L*V `"$env:TEMP\nrdot_install.log`"" -Wait; Get-Service nrdot-collector -ErrorAction SilentlyContinue

Criar usuário de monitoramento

Execute este script como um usuário administrador para criar o usuário de monitoramento newrelic e conceder as permissões necessárias para coletar métricas do SQL Server.

Dica

Execute este script usando o nome de usuário mestre do RDS ou um usuário com a função rds_superuser. O script exclui automaticamente o banco de dados rdsadmin, que é reservado pela AWS.

Em seu SQL Server Management Studio (SSMS), execute o seguinte script para criar o usuário de monitoramento newrelic. Substitua <YOUR_PASSWORD> pela senha desejada:

USE [master];
GO
CREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_PASSWORD>';
GO
GRANT VIEW SERVER STATE TO [newrelic];
GRANT VIEW ANY DEFINITION TO [newrelic];
GRANT VIEW ANY DATABASE TO [newrelic];
GO
DECLARE @name SYSNAME;
DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FOR
SELECT [name]
FROM [master].[sys].[databases]
WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution')
AND [state] = 0;
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @name;
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC('USE [' + @name + '];
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'')
BEGIN
CREATE USER [newrelic] FOR LOGIN [newrelic];
END;
GRANT VIEW DATABASE STATE TO [newrelic];');
END TRY
BEGIN CATCH
PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();
END CATCH
FETCH NEXT FROM db_cursor INTO @name;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
GO

Dica

Para gerenciar informações confidenciais com segurança, como credenciais de banco de dados, armazene-as em ferramentas de gerenciamento de segredos.

Configure o NRDOT Collector

Crie um novo arquivo de configuração do NRDOT Collector para a sua configuração do RDS SQL Server.

  1. Crie um arquivo de configuração nomeado como mssql-config.yaml no PowerShell como administrador:

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. Adicione a seguinte configuração ao arquivo mssql-config.yaml criado na etapa anterior:

    configuração completa

    Esta configuração foca no monitoramento essencial de banco de dados para o seu ambiente RDS. Para habilitar o monitoramento abrangente com todas as métricas disponíveis, consulte a referência de configuração.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    username: newrelic
    5
    password: YOUR_PASSWORD
    6
    server: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com
    7
    port: 1433
    8
    9
    # Enable comprehensive database metrics
    10
    metrics:
    11
    sqlserver.database.count:
    12
    enabled: true
    13
    sqlserver.database.io:
    14
    enabled: true
    15
    sqlserver.database.latency:
    16
    enabled: true
    17
    sqlserver.database.operations:
    18
    enabled: true
    19
    sqlserver.database.tempdb.space:
    20
    enabled: true
    21
    sqlserver.database.tempdb.version_store.size:
    22
    enabled: true
    23
    sqlserver.deadlock.rate:
    24
    enabled: true
    25
    sqlserver.os.wait.duration:
    26
    enabled: true
    27
    sqlserver.processes.blocked:
    28
    enabled: true
    29
    sqlserver.memory.grants.pending.count:
    30
    enabled: true
    31
    sqlserver.database.file.size:
    32
    enabled: true
    33
    sqlserver.memory.area:
    34
    enabled: true
    35
    36
    # Enable top query and query sample log collection
    37
    events:
    38
    db.server.query_sample:
    39
    enabled: true
    40
    db.server.top_query:
    41
    enabled: true
    42
    43
    # Top query collection configuration
    44
    top_query_collection:
    45
    lookback_time: 60s
    46
    max_query_sample_count: 1000
    47
    top_query_count: 250
    48
    collection_interval: 60s
    49
    50
    collect_full_query_text: true
    51
    allowed_comment_keys:
    52
    - nr_service_guid
    53
    54
    # Query sample collection configuration
    55
    query_sample_collection:
    56
    max_rows_per_query: 100
    57
    58
    processors:
    59
    memory_limiter:
    60
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    61
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    62
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    63
    64
    batch:
    65
    66
    exporters:
    67
    otlp:
    68
    endpoint: https://otlp.nr-data.net:4318
    69
    headers:
    70
    api-key: YOUR_LICENSE_KEY
    71
    tls:
    72
    insecure: false
    73
    compression: gzip
    74
    75
    service:
    76
    telemetry:
    77
    metrics:
    78
    level: none
    79
    80
    pipelines:
    81
    metrics:
    82
    receivers: [nrsqlserver]
    83
    processors: [memory_limiter, batch]
    84
    exporters: [otlp]
    85
    86
    logs:
    87
    receivers: [nrsqlserver]
    88
    processors: [memory_limiter, batch]
    89
    exporters: [otlp]

Atualizar registro de serviço do Windows

  1. Atualize o Registro de Serviço do Windows para usar o novo arquivo mssql-config.yaml usando um dos seguintes métodos:

    • Para PowerShell: execute o seguinte comando como administrador:

      bash
      $
      Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nrdot-collector" -Name "ImagePath" -Value '"C:\Program Files\nrdot-collector\nrdot-collector.exe" --config "C:\Program Files\nrdot-collector\mssql-config.yaml"'
    • Para prompt de comando: se o PowerShell não estiver disponível, use o prompt de comando e execute o seguinte comando como administrador:

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Valide a configuração do Collector NRDOT para garantir que esteja formatada corretamente e funcione de maneira adequada.

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Dica

    Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados.

Reiniciar o NRDOT Collector

Após atualizar sua configuração, reinicie o serviço NRDOT Collector:

bash
$
net stop nrdot-collector
$
net start nrdot-collector

Dica

Sempre reinicie o serviço do NRDOT Collector após fazer alterações na configuração para garantir que as novas configurações entrem em vigor.

Encontre e use seus dados

Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados SQL Server por meio da interface do New Relic.

Para encontrar sua entidade de banco de dados SQL Server no New Relic:

  1. Vá para https://one.newrelic.com > All Capabilities > Databases.

  2. Na dropdown Entity type, selecione MSSQL instance e clique em Apply.

  3. Selecione seu banco de dados SQL Server na lista de entidades.

    Após configurar o monitoramento do SQL Server com o NRDOT, você pode:

Pré-requisitos

Antes de monitorar seu Microsoft SQL Server com o NRDOT usando a autenticação de domínio do Windows, certifique-se de que seu ambiente atenda a estes requisitos:

  • Conta do New Relic com uma chave de licençaválida

  • Endpoint OTLP da New Relic para sua região

  • Requisitos do SQL Server, será necessário:

    • SQL Server 2017 ou posterior no Amazon RDS
    • Credenciais de usuário mestre do RDS ou credenciais para um login do SQL Server com a função rds_superuser
    • Grupo de segurança do RDS configurado para permitir conexões na porta 1433 ou em uma porta personalizada
    • SQL Server Management Studio (SSMS) ou utilitário sqlcmd
    • Instância do RDS associada ao serviço AWS Active Directory
  • Requisitos de autenticação de domínio do Windows:

    • Ambiente de domínio do Windows com Active Directory
    • Instância de EC2 do Windows associada ao domínio
    • RDS SQL Server configurado para aceitar a Autenticação do Windows
    • Conta de usuário de domínio que será usada pelo NRDOT Collector
  • Conectividade de rede para o endpoint OTLP da New Relic

  • A URL do endpoint do seu RDS SQL Server, que pode ser encontrada no seu AWS RDS Console em Connectivity & security. Para obter mais informações, consulte a documentação do AWS RDS.

Inscreva-se para visualizar

Esta integração está disponível como parte do programa de visualização pública da New Relic. Entre em contato com o gerente da sua organização para aceitar na página Previews & Trials.

Instalar o NRDOT Collector

Instale o NRDOT Collector em uma instância de EC2 do Windows ingressada no domínio ou em uma máquina local do Windows que faça parte do mesmo domínio e possa se conectar à sua instância do SQL Server do RDS.

Importante

Para o monitoramento do RDS, instale o NRDOT Collector em uma instância de EC2 na mesma VPC que a sua instância do RDS para obter conectividade de rede ideal e menor latência.

  1. Baixe e instale o NRDOT Collector usando o PowerShell:

    bash
    $
    [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'; $NRDOT_VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest").tag_name; $WebClient = New-Object System.Net.WebClient; $WebClient.Headers.Add("User-Agent", "Mozilla/5.0"); $WebClient.DownloadFile("https://github.com/newrelic/nrdot-collector-releases/releases/download/$NRDOT_VERSION/nrdot-collector_${NRDOT_VERSION}_windows_x64.msi", "$env:TEMP\nrdot-collector.msi"); Start-Process msiexec.exe -ArgumentList "/i `"$env:TEMP\nrdot-collector.msi`" /qn /norestart /L*V `"$env:TEMP\nrdot_install.log`"" -Wait; Get-Service nrdot-collector -ErrorAction SilentlyContinue

Criar login de domínio do Windows

Conecte-se à sua instância do RDS SQL Server usando o SQL Server Management Studio (SSMS) ou sqlcmd com privilégios administrativos.

No seu SQL Server Management Studio (SSMS), execute o seguinte script para criar um login para a sua conta gMSA e conceder as permissões necessárias. Substitua todas as ocorrências de <YOUR_DOMAIN>\<YOUR_DOMAIN_USER> pelo seu domínio e nome de conta reais.

USE [master];
GO
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>] FROM WINDOWS;
GO
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GO
-- Grant access to all databases (required for query monitoring and tempdb metrics)
DECLARE @name SYSNAME;
DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FOR
SELECT [name] FROM [master].[sys].[databases]
WHERE [name] NOT IN ('master','msdb','model','rdsadmin','distribution')
AND [state] = 0;
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @name;
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC('USE [' + @name + '];
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>'')
BEGIN
CREATE USER [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>] FOR LOGIN [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
END;
GRANT VIEW DATABASE STATE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];');
END TRY
BEGIN CATCH
PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();
END CATCH
FETCH NEXT FROM db_cursor INTO @name;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
GO

Dica

Para gerenciar informações confidenciais com segurança, como credenciais de banco de dados, armazene-as em ferramentas de gerenciamento de segredos.

Executar como usuário de domínio

  1. Configure o serviço NRDOT Collector para ser executado como seu usuário de domínio usando o PowerShell. Substitua YOUR_DOMAIN\YOUR_USER_ACCOUNT pelo seu domínio e nome de conta:

    bash
    $
    # Configure service to use domain account
    $
    # The space after obj= and password= is required syntax for sc.exe
    $
    sc.exe config "nrdot-collector" obj= "YOUR_DOMAIN\YOUR_USER_ACCOUNT" password= "<YOUR_PASSWORD>"
    $
    $
    # Restart the service
    $
    Restart-Service nrdot-collector
  2. Valide a identidade do serviço:

    bash
    $
    Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, State, StartName
    $
    # Expected: StartName = YOUR_DOMAIN\YOUR_USER_ACCOUNT

Configurar o NRDOT Collector

  1. Crie um arquivo de configuração nomeado como mssql-config.yaml no PowerShell como administrador::

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. Adicione a seguinte configuração ao arquivo mssql-config.yaml criado na etapa anterior:

    Importante

    A autenticação de domínio do Windows usa segurança integrada, que usa a mesma abordagem de configuração que a autenticação gMSA. Atualize o valor do servidor datasource para o seu endpoint do RDS. O serviço NRDOT será autenticado usando a conta de domínio que você configurou na Etapa 3.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com;port=1433;integrated security=true;encrypt=true;TrustServerCertificate=true;"
    5
    6
    # Enable comprehensive database metrics
    7
    metrics:
    8
    sqlserver.database.count:
    9
    enabled: true
    10
    sqlserver.database.io:
    11
    enabled: true
    12
    sqlserver.database.latency:
    13
    enabled: true
    14
    sqlserver.database.operations:
    15
    enabled: true
    16
    sqlserver.database.tempdb.space:
    17
    enabled: true
    18
    sqlserver.database.tempdb.version_store.size:
    19
    enabled: true
    20
    sqlserver.deadlock.rate:
    21
    enabled: true
    22
    sqlserver.os.wait.duration:
    23
    enabled: true
    24
    sqlserver.processes.blocked:
    25
    enabled: true
    26
    sqlserver.memory.grants.pending.count:
    27
    enabled: true
    28
    sqlserver.database.file.size:
    29
    enabled: true
    30
    sqlserver.memory.area:
    31
    enabled: true
    32
    33
    # Enable top query and query sample log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    40
    # Top query collection configuration
    41
    top_query_collection:
    42
    lookback_time: 60s
    43
    max_query_sample_count: 1000
    44
    top_query_count: 250
    45
    collection_interval: 60s
    46
    47
    collect_full_query_text: true
    48
    allowed_comment_keys:
    49
    - nr_service_guid
    50
    51
    # Query sample collection configuration
    52
    query_sample_collection:
    53
    max_rows_per_query: 100
    54
    55
    processors:
    56
    memory_limiter:
    57
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    58
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    59
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    60
    61
    batch:
    62
    63
    exporters:
    64
    otlp:
    65
    endpoint: https://otlp.nr-data.net:4318
    66
    headers:
    67
    api-key: YOUR_LICENSE_KEY
    68
    tls:
    69
    insecure: false
    70
    compression: gzip
    71
    72
    service:
    73
    telemetry:
    74
    metrics:
    75
    level: none
    76
    77
    pipelines:
    78
    metrics:
    79
    receivers: [nrsqlserver]
    80
    processors: [memory_limiter, batch]
    81
    exporters: [otlp]
    82
    83
    logs:
    84
    receivers: [nrsqlserver]
    85
    processors: [memory_limiter, batch]
    86
    exporters: [otlp]

    configuração completa

    Esta configuração se concentra no monitoramento essencial de banco de dados para o seu ambiente RDS. Para habilitar o monitoramento abrangente com todas as métricas disponíveis, consulte a referência de configuração.

Atualizar Registro de Serviço do Windows

  1. Atualize o Registro de Serviço do Windows para usar o novo arquivo mssql-config.yaml usando um dos seguintes métodos:

    • Para PowerShell: execute o seguinte comando como administrador:

      bash
      $
      Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nrdot-collector" -Name "ImagePath" -Value '"C:\Program Files\nrdot-collector\nrdot-collector.exe" --config "C:\Program Files\nrdot-collector\mssql-config.yaml"'
    • Para prompt de comando: se o PowerShell não estiver disponível, use o prompt de comando e execute o seguinte comando como administrador:

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Valide a configuração do Collector NRDOT para garantir que esteja formatada corretamente e funcione adequadamente:

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Dica

    Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Para mais informações, consulte o guia de configuração de identificação de serviço de banco de dados.

Reiniciar o NRDOT Collector

Após atualizar sua configuração, reinicie o serviço NRDOT Collector:

bash
$
net stop nrdot-collector
$
net start nrdot-collector

Verifique se o serviço está sendo executado na conta de domínio verificando os Serviços do Windows (services.msc). A coluna Log On As deve mostrar sua conta de domínio. Por exemplo, CORP\SQLMonitor.

Encontre e use seus dados

Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados SQL Server por meio da interface do New Relic.

Para encontrar sua entidade de banco de dados SQL Server no New Relic:

  1. Vá para https://one.newrelic.com > All Capabilities > Databases.

  2. Na dropdown Entity type, selecione MSSQL instance e clique em Apply.

  3. Selecione seu banco de dados SQL Server na lista de entidades.

    Após configurar o monitoramento do SQL Server com o NRDOT, você pode:

Pré-requisitos

Antes de monitorar seu Microsoft SQL Server com NRDOT usando a autenticação gMSA, certifique-se de ter:

  • Conta do New Relic com uma chave de licençaválida

  • Endpoint OTLP da New Relic para sua região

  • Requisitos do SQL Server, será necessário:

    • SQL Server 2017 ou posterior no Amazon RDS
    • Credenciais de usuário mestre do RDS ou credenciais para um login do SQL Server com a função rds_superuser
    • Grupo de segurança do RDS configurado para permitir conexões na porta 1433 ou em uma porta personalizada
    • SQL Server Management Studio (SSMS) ou utilitário sqlcmd
    • Instância do RDS associada ao serviço AWS Active Directory
  • A URL do endpoint do seu RDS SQL Server, que pode ser encontrada no seu AWS RDS Console em Connectivity & security. Para obter mais informações, consulte a documentação do AWS RDS.

  • Ambiente do Active Directory com suporte a gMSA

  • Instância do EC2 do Windows ingressada no domínio autorizada a usar a conta gMSA

  • Conectividade de rede para o endpoint OTLP da New Relic

Inscreva-se para visualizar

Esta integração está disponível como parte do programa de visualização pública da New Relic. Entre em contato com o gerente da sua organização para aceitar na página Previews & Trials.

Instalar o NRDOT Collector

Baixe e instale o NRDOT Collector usando o PowerShell:

bash
$
[Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'; $NRDOT_VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest").tag_name; $WebClient = New-Object System.Net.WebClient; $WebClient.Headers.Add("User-Agent", "Mozilla/5.0"); $WebClient.DownloadFile("https://github.com/newrelic/nrdot-collector-releases/releases/download/$NRDOT_VERSION/nrdot-collector_${NRDOT_VERSION}_windows_x64.msi", "$env:TEMP\nrdot-collector.msi"); Start-Process msiexec.exe -ArgumentList "/i `"$env:TEMP\nrdot-collector.msi`" /qn /norestart /L*V `"$env:TEMP\nrdot_install.log`"" -Wait; Get-Service nrdot-collector -ErrorAction SilentlyContinue

Criar usuário de monitoramento

Conecte-se à sua instância do RDS SQL Server usando o SQL Server Management Studio (SSMS) ou sqlcmd com privilégios administrativos.

No seu SQL Server Management Studio (SSMS), execute o seguinte script para criar um login para a sua conta gMSA e conceder as permissões necessárias. Substitua todas as ocorrências de <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME> pelo seu domínio e nome de conta reais.

USE [master];
GO
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FROM WINDOWS;
GO
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GO
-- Grant access to all databases
DECLARE @name SYSNAME;
DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FOR
SELECT [name] FROM [master].[sys].[databases]
WHERE [name] NOT IN ('master','msdb','model','rdsadmin','distribution')
AND [state] = 0;
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @name;
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC('USE [' + @name + '];
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$'')
BEGIN
CREATE USER [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FOR LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
END;
GRANT VIEW DATABASE STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];');
END TRY
BEGIN CATCH
PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();
END CATCH
FETCH NEXT FROM db_cursor INTO @name;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
GO

Dica

Para gerenciar informações confidenciais com segurança, como credenciais de banco de dados, armazene-as em ferramentas de gerenciamento de segredos.

Executar como conta gMSA

Configure o serviço do NRDOT Collector para ser executado como sua conta gMSA usando o PowerShell. Substitua <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$ pelo seu domínio e nome da conta gMSA. Você deve incluir o $ no final, pois é necessário para contas gMSA:

bash
$
# Stop the NRDOT Collector service
$
Stop-Service nrdot-collector
$
$
# Configure service to use gMSA account
$
# Use cmd /c to avoid PowerShell treating $ as a variable
$
cmd /c 'sc config nrdot-collector obj= "<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$" password= ""'
$
$
# Verify the configuration
$
Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, StartName
$
$
# Start the NRDOT Collector service
$
Start-Service nrdot-collector

Importante

As contas gMSA não exigem senhas. Mantenha-o vazio ao configurar o serviço.

Configurar o NRDOT Collector

  1. Crie um arquivo de configuração nomeado como mssql-config.yaml no PowerShell como administrador::

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. Adicione a seguinte configuração ao arquivo mssql-config.yaml criado na etapa anterior:

    configuração completa

    Esta configuração se concentra no monitoramento essencial de banco de dados para o seu ambiente RDS. Para habilitar o monitoramento abrangente com todas as métricas disponíveis, consulte a referência de configuração.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com;port=1433;integrated security=true;encrypt=true;TrustServerCertificate=true;"
    5
    6
    # Enable comprehensive database metrics
    7
    metrics:
    8
    sqlserver.database.count:
    9
    enabled: true
    10
    sqlserver.database.io:
    11
    enabled: true
    12
    sqlserver.database.latency:
    13
    enabled: true
    14
    sqlserver.database.operations:
    15
    enabled: true
    16
    sqlserver.database.tempdb.space:
    17
    enabled: true
    18
    sqlserver.database.tempdb.version_store.size:
    19
    enabled: true
    20
    sqlserver.deadlock.rate:
    21
    enabled: true
    22
    sqlserver.os.wait.duration:
    23
    enabled: true
    24
    sqlserver.processes.blocked:
    25
    enabled: true
    26
    sqlserver.memory.grants.pending.count:
    27
    enabled: true
    28
    sqlserver.database.file.size:
    29
    enabled: true
    30
    sqlserver.memory.area:
    31
    enabled: true
    32
    33
    # Enable top query and query sample log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    40
    # Top query collection configuration
    41
    top_query_collection:
    42
    lookback_time: 60s
    43
    max_query_sample_count: 1000
    44
    top_query_count: 250
    45
    collection_interval: 60s
    46
    47
    collect_full_query_text: true
    48
    allowed_comment_keys:
    49
    - nr_service_guid
    50
    51
    # Query sample collection configuration
    52
    query_sample_collection:
    53
    max_rows_per_query: 100
    54
    55
    processors:
    56
    memory_limiter:
    57
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    58
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    59
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    60
    61
    batch:
    62
    63
    exporters:
    64
    otlp:
    65
    endpoint: https://otlp.nr-data.net:4318
    66
    headers:
    67
    api-key: YOUR_LICENSE_KEY
    68
    tls:
    69
    insecure: false
    70
    compression: gzip
    71
    72
    service:
    73
    telemetry:
    74
    metrics:
    75
    level: none
    76
    77
    pipelines:
    78
    metrics:
    79
    receivers: [nrsqlserver]
    80
    processors: [memory_limiter, batch]
    81
    exporters: [otlp]
    82
    83
    logs:
    84
    receivers: [nrsqlserver]
    85
    processors: [memory_limiter, batch]
    86
    exporters: [otlp]

Atualizar Registro de Serviço do Windows

  1. Atualize o Registro de Serviço do Windows para usar o novo arquivo mssql-config.yaml usando um dos seguintes métodos:

    • Para PowerShell: execute o seguinte comando como administrador:

      bash
      $
      Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nrdot-collector" -Name "ImagePath" -Value '"C:\Program Files\nrdot-collector\nrdot-collector.exe" --config "C:\Program Files\nrdot-collector\mssql-config.yaml"'
    • Para prompt de comando: se o PowerShell não estiver disponível, use o prompt de comando e execute o seguinte comando como administrador:

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Valide a configuração do coletor NRDOT para garantir que ela esteja formatada corretamente e funcione de maneira adequada:

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Dica

    Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados.

Reiniciar o coletor NRDOT

Após atualizar sua configuração, reinicie o serviço NRDOT Collector na sua instância do Windows EC2 associada ao domínio:

bash
$
net stop nrdot-collector
$
net start nrdot-collector

Verifique se o serviço está sendo executado na conta gMSA verificando os Serviços do Windows (services.msc). A coluna Log On As deve mostrar sua conta gMSA, por exemplo, CORP\SQL-gMSA$.

Encontre e use seus dados

Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados SQL Server por meio da interface do New Relic.

Para encontrar sua entidade de banco de dados SQL Server no New Relic:

  1. Vá para https://one.newrelic.com > All Capabilities > Databases.

  2. Na dropdown Entity type, selecione MSSQL instance e clique em Apply.

  3. Selecione seu banco de dados SQL Server na lista de entidades.

    Após configurar o monitoramento do SQL Server com o NRDOT, você pode:

Configurar a correlação entre APM e banco de dados

Aprenda a correlacionar o desempenho do seu aplicativo com as operações de banco de dados no New Relic.

Resolução de problemas

Aprenda a solucionar problemas na sua configuração de monitoramento do MSSQL Windows no New Relic.

Referência de métricas

Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.