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
1433ou 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:
$[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 SilentlyContinueCriar 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];GOCREATE 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 FORSELECT [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 = 0BEGIN 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;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GODica
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.
Crie um arquivo de configuração nomeado como
mssql-config.yamlno PowerShell como administrador:bash$New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType FileAdicione a seguinte configuração ao arquivo
mssql-config.yamlcriado 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.yaml1receivers:2nrsqlserver:3collection_interval: 15s4username: newrelic5password: YOUR_PASSWORD6server: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com7port: 143389# Enable comprehensive database metrics10metrics:11sqlserver.database.count:12enabled: true13sqlserver.database.io:14enabled: true15sqlserver.database.latency:16enabled: true17sqlserver.database.operations:18enabled: true19sqlserver.database.tempdb.space:20enabled: true21sqlserver.database.tempdb.version_store.size:22enabled: true23sqlserver.deadlock.rate:24enabled: true25sqlserver.os.wait.duration:26enabled: true27sqlserver.processes.blocked:28enabled: true29sqlserver.memory.grants.pending.count:30enabled: true31sqlserver.database.file.size:32enabled: true33sqlserver.memory.area:34enabled: true3536# Enable top query and query sample log collection37events:38db.server.query_sample:39enabled: true40db.server.top_query:41enabled: true4243# Top query collection configuration44top_query_collection:45lookback_time: 60s46max_query_sample_count: 100047top_query_count: 25048collection_interval: 60s4950collect_full_query_text: true51allowed_comment_keys:52- nr_service_guid5354# Query sample collection configuration55query_sample_collection:56max_rows_per_query: 1005758processors:59memory_limiter:60check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}61limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}62spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}6364batch:6566exporters:67otlp:68endpoint: https://otlp.nr-data.net:431869headers:70api-key: YOUR_LICENSE_KEY71tls:72insecure: false73compression: gzip7475service:76telemetry:77metrics:78level: none7980pipelines:81metrics:82receivers: [nrsqlserver]83processors: [memory_limiter, batch]84exporters: [otlp]8586logs:87receivers: [nrsqlserver]88processors: [memory_limiter, batch]89exporters: [otlp]
Atualizar registro de serviço do Windows
Atualize o Registro de Serviço do Windows para usar o novo arquivo
mssql-config.yamlusando 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\""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:
$net stop nrdot-collector$net start nrdot-collectorDica
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:
Vá para https://one.newrelic.com > All Capabilities > Databases.
Na dropdown Entity type, selecione MSSQL instance e clique em Apply.
Selecione seu banco de dados SQL Server na lista de entidades.
Após configurar o monitoramento do SQL Server com o NRDOT, você pode:
- Crie dashboards personalizados para visualizar suas métricas de banco de dados
- Configure alertas para limites críticos de desempenho do banco de dados
- Explore seus dados usando os recursos de consulta do New Relic
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
1433ou 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.
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 = 0BEGIN 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;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GODica
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
Configure o serviço NRDOT Collector para ser executado como seu usuário de domínio usando o PowerShell. Substitua
YOUR_DOMAIN\YOUR_USER_ACCOUNTpelo 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-collectorValide 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
Crie um arquivo de configuração nomeado como
mssql-config.yamlno PowerShell como administrador::bash$New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType FileAdicione a seguinte configuração ao arquivo
mssql-config.yamlcriado 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
datasourcepara 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.yaml1receivers:2nrsqlserver:3collection_interval: 15s4datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com;port=1433;integrated security=true;encrypt=true;TrustServerCertificate=true;"56# Enable comprehensive database metrics7metrics:8sqlserver.database.count:9enabled: true10sqlserver.database.io:11enabled: true12sqlserver.database.latency:13enabled: true14sqlserver.database.operations:15enabled: true16sqlserver.database.tempdb.space:17enabled: true18sqlserver.database.tempdb.version_store.size:19enabled: true20sqlserver.deadlock.rate:21enabled: true22sqlserver.os.wait.duration:23enabled: true24sqlserver.processes.blocked:25enabled: true26sqlserver.memory.grants.pending.count:27enabled: true28sqlserver.database.file.size:29enabled: true30sqlserver.memory.area:31enabled: true3233# Enable top query and query sample log collection34events:35db.server.query_sample:36enabled: true37db.server.top_query:38enabled: true3940# Top query collection configuration41top_query_collection:42lookback_time: 60s43max_query_sample_count: 100044top_query_count: 25045collection_interval: 60s4647collect_full_query_text: true48allowed_comment_keys:49- nr_service_guid5051# Query sample collection configuration52query_sample_collection:53max_rows_per_query: 1005455processors:56memory_limiter:57check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}58limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}59spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}6061batch:6263exporters:64otlp:65endpoint: https://otlp.nr-data.net:431866headers:67api-key: YOUR_LICENSE_KEY68tls:69insecure: false70compression: gzip7172service:73telemetry:74metrics:75level: none7677pipelines:78metrics:79receivers: [nrsqlserver]80processors: [memory_limiter, batch]81exporters: [otlp]8283logs:84receivers: [nrsqlserver]85processors: [memory_limiter, batch]86exporters: [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
Atualize o Registro de Serviço do Windows para usar o novo arquivo
mssql-config.yamlusando 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\""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:
$net stop nrdot-collector$net start nrdot-collectorVerifique 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:
Vá para https://one.newrelic.com > All Capabilities > Databases.
Na dropdown Entity type, selecione MSSQL instance e clique em Apply.
Selecione seu banco de dados SQL Server na lista de entidades.
Após configurar o monitoramento do SQL Server com o NRDOT, você pode:
- Crie dashboards personalizados para visualizar suas métricas de banco de dados
- Configure alertas para limites críticos de desempenho do banco de dados
- Explore seus dados usando os recursos de consulta do New Relic
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
1433ou 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:
$[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 SilentlyContinueCriar 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 = 0BEGIN 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;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GODica
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:
$# 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-collectorImportante
As contas gMSA não exigem senhas. Mantenha-o vazio ao configurar o serviço.
Configurar o NRDOT Collector
Crie um arquivo de configuração nomeado como
mssql-config.yamlno PowerShell como administrador::bash$New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType FileAdicione a seguinte configuração ao arquivo
mssql-config.yamlcriado 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.yaml1receivers:2nrsqlserver:3collection_interval: 15s4datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com;port=1433;integrated security=true;encrypt=true;TrustServerCertificate=true;"56# Enable comprehensive database metrics7metrics:8sqlserver.database.count:9enabled: true10sqlserver.database.io:11enabled: true12sqlserver.database.latency:13enabled: true14sqlserver.database.operations:15enabled: true16sqlserver.database.tempdb.space:17enabled: true18sqlserver.database.tempdb.version_store.size:19enabled: true20sqlserver.deadlock.rate:21enabled: true22sqlserver.os.wait.duration:23enabled: true24sqlserver.processes.blocked:25enabled: true26sqlserver.memory.grants.pending.count:27enabled: true28sqlserver.database.file.size:29enabled: true30sqlserver.memory.area:31enabled: true3233# Enable top query and query sample log collection34events:35db.server.query_sample:36enabled: true37db.server.top_query:38enabled: true3940# Top query collection configuration41top_query_collection:42lookback_time: 60s43max_query_sample_count: 100044top_query_count: 25045collection_interval: 60s4647collect_full_query_text: true48allowed_comment_keys:49- nr_service_guid5051# Query sample collection configuration52query_sample_collection:53max_rows_per_query: 1005455processors:56memory_limiter:57check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}58limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}59spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}6061batch:6263exporters:64otlp:65endpoint: https://otlp.nr-data.net:431866headers:67api-key: YOUR_LICENSE_KEY68tls:69insecure: false70compression: gzip7172service:73telemetry:74metrics:75level: none7677pipelines:78metrics:79receivers: [nrsqlserver]80processors: [memory_limiter, batch]81exporters: [otlp]8283logs:84receivers: [nrsqlserver]85processors: [memory_limiter, batch]86exporters: [otlp]
Atualizar Registro de Serviço do Windows
Atualize o Registro de Serviço do Windows para usar o novo arquivo
mssql-config.yamlusando 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\""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:
$net stop nrdot-collector$net start nrdot-collectorVerifique 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:
Vá para https://one.newrelic.com > All Capabilities > Databases.
Na dropdown Entity type, selecione MSSQL instance e clique em Apply.
Selecione seu banco de dados SQL Server na lista de entidades.
Após configurar o monitoramento do SQL Server com o NRDOT, você pode:
- Crie dashboards personalizados para visualizar suas métricas de banco de dados
- Configure alertas para limites críticos de desempenho do banco de dados
- Explore seus dados usando os recursos de consulta do New Relic
Documentação relacionada
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.