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 auto-hospedados Linux, incluindo servidores físicos, máquinas virtuais e implantações Linux em contêineres.
Pré-requisitos
Certifique-se de que seu ambiente atenda à nossa compatibilidade e pré-requisitos.
Configurar o NRDOT Collector
Instale o NRDOT Collector na sua distribuição Linux:
Importante
Recomenda-se instalar o NRDOT Collector no mesmo host que sua instância do SQL Server para visualizar métricas de nível de infraestrutura para monitoramento de desempenho de consultas.
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
Execute o seguinte script como um root user/sysadmin para criar o usuário de monitoramento newrelic e conceder permissões globais de leitura.
Para criar um usuário de monitoramento
newrelicno Linux, crie um arquivo chamadonr-grant-permission.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;GOPara executar o script, execute o seguinte comando. Substitua
<Your_SA_Password>pela sua senha de administrador do SQL Server:bash$sqlcmd -S localhost -U sa -P '<Your_SA_Password>' -C -i nr-grant-permission.sql(Opcional) Para verificar se o usuário foi criado com sucesso e possui as permissões corretas, execute o seguinte comando. Substitua
<Your_SA_Password>pela sua senha de administrador do SQL Server:bash$sqlcmd -S localhost -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:
User Permission_Granted-------------------------------------------------------------------------------------<your_username> CONNECT SQL<your_username> VIEW ANY DEFINITION<your_username> VIEW ANY DATABASE<your_username> 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.
Configurar o NRDOT Collector
Selecione o seu tipo de configuração com base nas suas necessidades de monitoramento:
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 0Parâ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_PASSWORD> | Insira a senha do seu banco de dados para autenticação |
<YOUR_SERVER> | Insira o nome do host ou endereço IP do SQL Server |
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. |
collection_interval | Intervalo em segundos para coletar métricas de banco de dados. Padrão: 15s |
Dica
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 adequadamente:
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yaml
Reiniciar 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 auto-hospedado do Linux: