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.
Obtenha insights abrangentes sobre o desempenho do seu SQL Server com o monitoramento de banco de dados, análise de consulta e métricas de integridade do sistema usando o coletor New Relic Distribution of OpenTelemetry (NRDOT).
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.
Dica
Se você estiver usando o SQL Server em um ambiente Linux RDS, consulte a instrumentação do Linux para RDS.
Pré-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
- Acesso administrativo ao SQL Server (função
sysadminou equivalente) - Conectividade de rede entre o coletor e o SQL Server na porta
1433ou porta personalizada sqlcmdutilitário instalado no seu sistema Linux
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 pacote NRDOT para sua distribuição Linux. Substitua <NRDOT_VERSION> pela tag de versão mais recente da página nrdot-collector-releases.
Dica
Recomendamos instalar o NRDOT Collector no mesmo host que a instância do SQL Server para visualizar métricas de nível de infraestrutura para monitoramento de desempenho de consultas.
Criar usuário de monitoramento
Execute este script como usuário root para criar o usuário de monitoramento newrelic e conceder as permissões necessárias para coletar métricas do SQL Server.
Crie um arquivo de configuração chamado
nr-grant-permission.sql.Cole o seguinte script SQL para criar o usuário de monitoramento
newrelice substitua<YOUR_PASSWORD>pela senha desejada:USE [master];GOCREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_PASSWORD>';GO-- Instance-level permissionsGRANT VIEW SERVER STATE TO [newrelic];GRANT VIEW ANY DEFINITION TO [newrelic];GRANT VIEW ANY DATABASE TO [newrelic];GO-- Grant read access privileges to all user databasesDECLARE @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; -- Only online databasesOPEN db_cursor;FETCH NEXT FROM db_cursor INTO @name;WHILE @@FETCH_STATUS = 0BEGINBEGIN TRYEXEC('USE [' + @name + '];IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'')BEGINCREATE USER [newrelic] FOR LOGIN [newrelic];END;GRANT VIEW DATABASE STATE TO [newrelic];');END TRYBEGIN CATCHPRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();END CATCHFETCH NEXT FROM db_cursor INTO @name;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GOExecute o script usando
sqlcmd. Substitua<YOUR_SA_PASSWORD>pela sua senha de administrador do SQL Server:bash$sqlcmd -S <YOUR_DB_ENDPOINT> -U sa -P '<YOUR_SA_PASSWORD>' -C -i nr-grant-permission.sql(Opcional) Verifique se o usuário foi criado com sucesso com as permissões corretas:
bash$sqlcmd -S <YOUR_DB_ENDPOINT> -U sa -P '<YOUR_SA_PASSWORD>' -C -Q "SELECT sp.name AS [User], p.permission_name AS [Permission_Granted] FROM sys.server_permissions p JOIN sys.server_principals sp ON p.grantee_principal_id = sp.principal_id WHERE sp.name = 'newrelic';"Saída esperada:
bash$User Permission_Granted$-------------------------------------------------------------------------------------$newrelic CONNECT SQL$newrelic VIEW ANY DEFINITION$newrelic VIEW ANY DATABASE$newrelic VIEW SERVER STATEEsta saída confirma que seu usuário foi criado com sucesso com as permissões necessárias em nível de servidor.
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
Escolha sua opção de configuração com base nos seus requisitos de monitoramento:
Crie um arquivo de configuração chamado
mssql-config.yaml:bash$sudo nano /etc/nrdot-collector/mssql-config.yamlAdicione a seguinte configuração ao arquivo
mssql-config.yamlcriado na etapa anterior:configuração completa
Esta configuração mínima foca apenas no monitoramento de banco de dados sem métricas de infraestrutura do host. Para habilitar com monitoramento com todos os recursos, consulte a referência de configuração.
mssql-config.yaml1receivers:2nrsqlserver:3collection_interval: 15s4# Direct connection to SQL Server5username: newrelic6password: YOUR_PASSWORD7server: sqlserver.example.com8port: 1433910# Enable comprehensive database metrics11metrics:12sqlserver.database.count:13enabled: true14sqlserver.database.io:15enabled: true16sqlserver.database.latency:17enabled: true18sqlserver.database.operations:19enabled: true20sqlserver.database.tempdb.space:21enabled: true22sqlserver.database.tempdb.version_store.size:23enabled: true24sqlserver.deadlock.rate:25enabled: true26sqlserver.os.wait.duration:27enabled: true28sqlserver.processes.blocked:29enabled: true30sqlserver.memory.grants.pending.count:31enabled: true32sqlserver.database.file.size:33enabled: true34sqlserver.memory.area:35enabled: true3637# Enable top query and query sample log collection38events:39db.server.query_sample:40enabled: true41db.server.top_query:42enabled: true4344# Top query collection configuration45top_query_collection:46lookback_time: 60s47max_query_sample_count: 100048top_query_count: 25049collection_interval: 60s5051collect_full_query_text: true52allowed_comment_keys:53- nr_service_guid5455# Query sample collection configuration56query_sample_collection:57max_rows_per_query: 1005859processors:60memory_limiter:61check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}62limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}63spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}6465batch:6667exporters:68otlp:69endpoint: https://otlp.nr-data.net:431870headers:71api-key: YOUR_LICENSE_KEY72tls:73insecure: false74compression: gzip7576service:77telemetry:78metrics:79level: none8081pipelines:82metrics:83receivers: [nrsqlserver]84processors: [memory_limiter, batch]85exporters: [otlp]8687logs:88receivers: [nrsqlserver]89processors: [memory_limiter, batch]90exporters: [otlp]
Atualize a configuração do NRDOT Collector
Após configurar seu arquivo YAML com as entradas interativas acima, conclua a configuração do NRDOT Collector:
Edite o arquivo de configuração do serviço:
bash$sudo nano /etc/nrdot-collector/nrdot-collector.confAtualize o caminho da configuração para apontar para o novo arquivo
mssql-config.yaml:bash$OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"(Opcional) Valide a configuração do Collector NRDOT:
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yamlDica
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:
$sudo systemctl restart 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 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.