Configure o monitoramento do Microsoft SQL Server usando o NRDOT Collector em ambientes auto-hospedados do Windows, incluindo servidores físicos, máquinas virtuais e instalações autônomas do Windows, usando a autenticação de domínio do Windows. Para monitorar em um ambiente Windows RDS, consulte a instrumentação do Windows RDS.
Instalação guiada
Para instalar isso pela interface da New Relic, acesse one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) . Siga as instruções na tela para configurar a integração. Esta página aborda apenas a instalação manual.
Esta página aborda a autenticação de domínio do Windows. Se o seu ambiente usa um método de autenticação diferente, consulte Autenticação do SQL Server ou gMSA.
Pré-requisitos
Antes de monitorar seu Microsoft SQL Server com NRDOT usando a Autenticação do Windows, certifique-se de que seu ambiente atenda a estes requisitos:
Uma conta New Relic com uma chave de licença válida.
Conectividade de rede para o endpoint OTLP da New Relic para sua região.
Requisitos do SQL Server:
- SQL Server 2017 ou posterior.
- Acesso administrativo ao SQL Server (função
sysadminou equivalente). - Conectividade de rede entre o coletor e o SQL Server na porta
1433ou em uma porta personalizada. - SQL Server Management Studio (SSMS) ou o utilitário
sqlcmd.
Um ambiente de domínio Windows com Active Directory.
SQL Server configurado para aceitar a Autenticação do Windows.
Uma conta de usuário de domínio com as permissões apropriadas do SQL Server.
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
Certifique-se de que seu SQL Server esteja configurado para Autenticação do Windows e verifique a conectividade.
Dica
Para gerenciar informações confidenciais com segurança, como credenciais de banco de dados, armazene-as em ferramentas de gerenciamento de segredos.
Configurar o NRDOT Collector
- Crie um arquivo de configuração nomeado como
mssql-config.yamlno PowerShell como administrador:
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 tem como foco o monitoramento essencial de banco de dados para o seu ambiente Windows SQL Server. 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=sqlserver.example.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 query sample, top query, query plan, and top procedure log collection34events:35db.server.query_sample:36enabled: true37db.server.top_query:38enabled: true39db.server.query_plan:40enabled: true41db.server.top_procedure:42enabled: true4344# Top query collection configuration45top_query_collection:46lookback_time: 60s47max_query_sample_count: 100048top_query_count: 25049collection_interval: 60s50collect_full_query_text: true51allowed_comment_keys:52- nr_service_guid5354# Query sample collection configuration55query_sample_collection:56max_rows_per_query: 10057collect_full_query_text: true58allowed_comment_keys:59- nr_service_guid6061# Top stored procedure collection configuration62top_procedure_collection:63max_procedure_sample_count: 100064top_procedure_count: 25065collection_interval: 60s6667resource_attributes:68db.system.version:69enabled: true70sqlserver.db.edition:71enabled: true7273processors:74memory_limiter:75check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}76limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}77spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}7879exporters:80otlp:81endpoint: https://otlp.nr-data.net:431882headers:83api-key: YOUR_LICENSE_KEY84tls:85insecure: false86compression: gzip8788sending_queue:89enabled: true90sizer: bytes91queue_size: 100_000_00092num_consumers: 1093batch:94sizer: bytes95max_size: 1_000_00096min_size: 097flush_timeout: 5s9899service:100telemetry:101metrics:102level: none103104pipelines:105metrics:106receivers: [nrsqlserver]107processors: [memory_limiter]108exporters: [otlp]109110logs:111receivers: [nrsqlserver]112processors: [memory_limiter]113exporters: [otlp]Dica
O pipeline
logsnão transporta logs de depuração do coletor ou logs internos do agente. Ele transmite a telemetria de consulta do SQL Server, incluindo texto da consulta, planos de execução e dados de amostra. O receptornrsqlservercaptura essa telemetria por meio dos eventosdb.server.query_sample,db.server.top_query,db.server.query_planedb.server.top_procedureemitidos como registros de log do OpenTelemetry.O evento
db.server.top_procedurerequer o SQL Server 2017 CU3 ou posterior, que introduziu suporte parasys.dm_exec_procedure_stats.total_spills. Em versões anteriores, esse evento não emite dados e registra um erro. Outros eventos permanecem inalterados. O acesso asys.dm_exec_procedure_statsrequerVIEW SERVER STATE(ouVIEW SERVER PERFORMANCE STATE, dependendo da versão do SQL Server). Além disso,VIEW ANY DEFINITIONé necessário para queOBJECT_NAMEeOBJECT_SCHEMA_NAMEsejam resolvidos corretamente em todos os bancos de dados de usuário, eCONNECT SQLé necessário para configurar as sessões iniciais. A conta configurada em Criar usuário de monitoramento já possui todas as 3 permissões.
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:
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:
$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:
$& "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"Dica
Para correlacionar o desempenho do seu aplicativo com as operações de banco de dados, você pode 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
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.