• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Monitoramento de MSSQL auto-hospedado no Linux com NRDOT

|View as Markdown (English)

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 sysadmin ou equivalente)
    • Conectividade de rede entre o coletor e o SQL Server na porta 1433 ou porta personalizada
    • sqlcmd utilitá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.

  1. Crie um arquivo de configuração chamado nr-grant-permission.sql.

  2. Cole o seguinte script SQL para criar o usuário de monitoramento newrelic e substitua <YOUR_PASSWORD> pela senha desejada:

    USE [master];
    GO
    CREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_PASSWORD>';
    GO
    -- Instance-level permissions
    GRANT 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 databases
    DECLARE @name SYSNAME;
    DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FOR
    SELECT [name]
    FROM [master].[sys].[databases]
    WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution')
    AND [state] = 0; -- Only online databases
    OPEN db_cursor;
    FETCH NEXT FROM db_cursor INTO @name;
    WHILE @@FETCH_STATUS = 0
    BEGIN
    BEGIN TRY
    EXEC('USE [' + @name + '];
    IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'')
    BEGIN
    CREATE USER [newrelic] FOR LOGIN [newrelic];
    END;
    GRANT VIEW DATABASE STATE TO [newrelic];');
    END TRY
    BEGIN CATCH
    PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();
    END CATCH
    FETCH NEXT FROM db_cursor INTO @name;
    END
    CLOSE db_cursor;
    DEALLOCATE db_cursor;
    GO
  3. Execute 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
  4. (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 STATE

    Esta 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:

  1. Crie um arquivo de configuração chamado mssql-config.yaml:

    bash
    $
    sudo nano /etc/nrdot-collector/mssql-config.yaml
  2. Adicione a seguinte configuração ao arquivo mssql-config.yaml criado 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.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    # Direct connection to SQL Server
    5
    username: newrelic
    6
    password: YOUR_PASSWORD
    7
    server: sqlserver.example.com
    8
    port: 1433
    9
    10
    # Enable comprehensive database metrics
    11
    metrics:
    12
    sqlserver.database.count:
    13
    enabled: true
    14
    sqlserver.database.io:
    15
    enabled: true
    16
    sqlserver.database.latency:
    17
    enabled: true
    18
    sqlserver.database.operations:
    19
    enabled: true
    20
    sqlserver.database.tempdb.space:
    21
    enabled: true
    22
    sqlserver.database.tempdb.version_store.size:
    23
    enabled: true
    24
    sqlserver.deadlock.rate:
    25
    enabled: true
    26
    sqlserver.os.wait.duration:
    27
    enabled: true
    28
    sqlserver.processes.blocked:
    29
    enabled: true
    30
    sqlserver.memory.grants.pending.count:
    31
    enabled: true
    32
    sqlserver.database.file.size:
    33
    enabled: true
    34
    sqlserver.memory.area:
    35
    enabled: true
    36
    37
    # Enable top query and query sample log collection
    38
    events:
    39
    db.server.query_sample:
    40
    enabled: true
    41
    db.server.top_query:
    42
    enabled: true
    43
    44
    # Top query collection configuration
    45
    top_query_collection:
    46
    lookback_time: 60s
    47
    max_query_sample_count: 1000
    48
    top_query_count: 250
    49
    collection_interval: 60s
    50
    51
    collect_full_query_text: true
    52
    allowed_comment_keys:
    53
    - nr_service_guid
    54
    55
    # Query sample collection configuration
    56
    query_sample_collection:
    57
    max_rows_per_query: 100
    58
    59
    processors:
    60
    memory_limiter:
    61
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    62
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    63
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    64
    65
    batch:
    66
    67
    exporters:
    68
    otlp:
    69
    endpoint: https://otlp.nr-data.net:4318
    70
    headers:
    71
    api-key: YOUR_LICENSE_KEY
    72
    tls:
    73
    insecure: false
    74
    compression: gzip
    75
    76
    service:
    77
    telemetry:
    78
    metrics:
    79
    level: none
    80
    81
    pipelines:
    82
    metrics:
    83
    receivers: [nrsqlserver]
    84
    processors: [memory_limiter, batch]
    85
    exporters: [otlp]
    86
    87
    logs:
    88
    receivers: [nrsqlserver]
    89
    processors: [memory_limiter, batch]
    90
    exporters: [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:

  1. Edite o arquivo de configuração do serviço:

    bash
    $
    sudo nano /etc/nrdot-collector/nrdot-collector.conf
  2. Atualize o caminho da configuração para apontar para o novo arquivo mssql-config.yaml:

    bash
    $
    OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"
  3. (Opcional) Valide a configuração do Collector NRDOT:

    bash
    $
    sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yaml

    Dica

    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:

bash
$
sudo systemctl restart nrdot-collector

Dica

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:

  1. Vá para one.newrelic.com > All capabilities > Databases.

  2. Na dropdown Entity type, selecione MSSQL instance e clique em Apply.

  3. Selecione seu banco de dados SQL Server na lista de entidades.

    Após configurar o monitoramento do SQL Server com o NRDOT, você pode:

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.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.