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 coletor NRDOT em ambientes Linux para monitorar instâncias do AWS RDS para SQL Server.
Pré-requisitos
Certifique-se de que seu ambiente atenda à nossa compatibilidade e pré-requisitos.
Configurar o NRDOT Collector
Instale o NRDOT Collector na sua instância de EC2 Linux ou máquina Linux local que possa se conectar à sua instância do RDS SQL Server.
Importante
Instale o NRDOT Collector em uma instância de EC2 ou máquina local que tenha conectividade de rede com a 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 na sua porta personalizada).
Debian/Ubuntu
Para a arquitetura AMD64 (x86_64):
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_amd64.deb" --output nrdot-collector.deb && sudo dpkg -i nrdot-collector.debPara a arquitetura ARM64:
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_arm64.deb" --output nrdot-collector.deb && sudo dpkg -i nrdot-collector.debRHEL/CentOS
Para a arquitetura AMD64 (x86_64):
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_x86_64.rpm" --output nrdot-collector.rpm && sudo rpm -ivh nrdot-collector.rpmPara a arquitetura ARM64:
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_arm64.rpm" --output nrdot-collector.rpm && sudo rpm -ivh nrdot-collector.rpm
Configurar usuário do banco de dados
Conecte-se à sua instância do RDS SQL Server e crie o usuário de monitoramento newrelic com as permissões apropriadas.
Crie um arquivo chamado
nr-grant-permission-rds.sqlna sua instância Linux com o seguinte conteúdo:USE [master];GOCREATE LOGIN [newrelic] WITH PASSWORD = '<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'')CREATE USER [newrelic] FOR LOGIN [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 suas credenciais de usuário mestre do RDS. Substitua
<YOUR-RDS-ENDPOINT>pelo seu endpoint real do RDS e<Your_Master_Password>pela sua senha mestre: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:
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
Para RDS: use seu nome de usuário e senha mestre do RDS para executar esses comandos. O script exclui automaticamente o banco de dados
rdsadmin, que é reservado pela AWS.
Configurar o NRDOT Collector
Selecione o seu tipo de configuração com base nas suas necessidades de monitoramento:
Parâmetro de configuração
A tabela a seguir descreve os principais parâmetros de configuração para o receptor nrsqlserver:
| Parâmetro | Descrição |
|---|---|
<YOUR_USERNAME> | Insira seu nome de usuário do banco de dados para autenticação |
<YOUR_NEWRELIC_PASSWORD> | A senha que você definiu para o usuário newrelic |
<YOUR-RDS-ENDPOINT> | Seu endpoint do RDS SQL Server (por exemplo, mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com) |
port | Insira o número da porta do SQL Server. O valor padrão é 1433. |
<YOUR_OTLP_ENDPOINT> | Insira o endpoint OTLP da New Relic. Para mais informações, consulte a documentação dos endpoints OTLP da New Relic. |
<YOUR_LICENSE_KEY> | Insira sua chave de licença do New Relic. |
Dica
Nota: a opção max_concurrent_queries controla quantas consultas de métrica o receiver executa em paralelo no SQL Server durante cada ciclo de scrape.
receivers: nrsqlserver: max_concurrent_queries: 4 # default is 4 if omitted or set to 0Dica
Observação: se você habilitar todas as métricas disponíveis, aumente o valor de limit_mib (por exemplo, 1.000) para evitar que o limitador de memória descarte dados.
Atualize o arquivo de configuração do coletor
Execute o seguinte comando para editar a configuração do serviço:
bash$sudo nano /etc/nrdot-collector/nrdot-collector.confAtualize o caminho da configuração para apontar para o seu novo arquivo mssql-config.yaml:
bash$OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"
Validar a configuração do NRDOT Collector
Valide a configuração do Collector NRDOT para garantir que esteja formatada corretamente e funcione de maneira adequada.
$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yamlReiniciar o coletor NRDOT
Após atualizar sua configuração, reinicie o serviço NRDOT Collector:
$sudo systemctl restart nrdot-collectorDica
Sempre reinicie o serviço do coletor NRDOT após fazer alterações na configuração para garantir que as novas configurações entrem em vigor.
Próximos passos
Após configurar o monitoramento do Linux RDS: