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 AWS RDS SQL Server com 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 auto-hospedado Linux, 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 AWS RDS SQL Server:
- AWS RDS SQL Server 2017 ou posterior
- Nome de usuário e senha mestre do RDS
- Grupo de segurança permitindo conexões de entrada na porta
1433ou porta personalizada
Requisitos do sistema Linux:
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.
Importante
Instale o NRDOT Collector em uma instância de EC2 ou máquina local com conectividade de rede para sua instância do RDS SQL Server. Certifique-se de que seu grupo de segurança permita conexões de entrada na porta 1433 (ou porta personalizada).
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 RDS SQL Server.
Crie um arquivo chamado
nr-grant-permission-rds.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-RDS-ENDPOINT>pelo seu endpoint do RDS e<YOUR_MASTER_PASSWORD>pela sua senha mestra:bash$sqlcmd -S <YOUR-RDS-ENDPOINT> -U <YOUR_MASTER_USER> -P '<YOUR_MASTER_PASSWORD>' -C -i nr-grant-permission-rds.sql(Opcional) Verifique se o usuário foi criado com sucesso com as permissões corretas:
bash$sqlcmd -S <YOUR-RDS-ENDPOINT> -U <YOUR_MASTER_USER> -P '<YOUR_MASTER_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';"Dica
Use seu nome de usuário e senha mestre do RDS para executar estes comandos. O script exclui automaticamente o banco de dados
rdsadmin, que é reservado pela AWS. 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 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: 15s4# Connection details - Use your RDS endpoint5username: newrelic6password: YOUR_PASSWORD7server: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.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 usando o seguinte comando:
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 Linux RDS no New Relic.
Referência de métricas
Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.