• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Monitoreo de MSSQL autohospedado en Linux con NRDOT

|View as Markdown (English)

Avance

Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!

Esta función se proporciona actualmente como parte de una vista previa de conformidad con nuestras políticas de prelanzamiento.

Obtenga información valiosa completa sobre el rendimiento de SQL Server con el monitoreo de la base de datos, el análisis de consultas y las métricas de estado del sistema utilizando el recolector de New Relic Distribution of OpenTelemetry (NRDOT).

Para instalar esto a través de la UI de New Relic en su lugar, vaya a one.newrelic.com > Integrations & Agents > MSSQL (OpenTelemetry) . Siga las instrucciones en pantalla para configurar la integración. Esta página cubre únicamente la ruta de instalación de la CLI.

Sugerencia

Si utiliza SQL Server en un entorno RDS de Linux, consulte la instrumentación de Linux para RDS.

Requisitos previos

  • Cuenta de New Relic con una clave de licenciaválida

  • Extremo OTLP de New Relic para su región

  • Requisitos de SQL Server, necesitará:

    • SQL Server 2017 o posterior
    • Acceso administrativo a SQL Server (rol sysadmin o equivalente)
    • Conectividad de red entre el recolector y SQL Server en el puerto 1433 o en un puerto personalizado
    • sqlcmd utilidad instalada en el sistema Linux
  • Conectividad de red al extremo OTLP de New Relic

Inscribirse en la vista previa

Esta integración está disponible como parte del programa de vista previa pública (public preview) de New Relic. Comuníquese con el gerente de la organización para activarla desde la página de Previsualizaciones y pruebas (Previews & Trials).

Instalar NRDOT Collector

Descargue e instale el paquete NRDOT para su distribución de Linux. Reemplace <NRDOT_VERSION> con la última etiqueta de versión de la página nrdot-collector-releases.

Sugerencia

Recomendamos instalar el NRDOT Collector en el mismo host que la instancia de SQL Server para ver métricas a nivel de infraestructura para el monitoreo del rendimiento de consultas.

Crear usuario de monitoreo

Ejecute este script como usuario root para crear el usuario de monitoreo de newrelic y otorgar los permisos necesarios para recopilar métricas de SQL Server.

  1. Cree un archivo de configuración llamado nr-grant-permission.sql.

  2. Pegue el siguiente script de SQL para crear el usuario de monitoreo de newrelic y reemplace <YOUR_PASSWORD> con la contraseña deseada:

    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. Ejecute el script usando sqlcmd. Reemplace <YOUR_SA_PASSWORD> con la contraseña de administrador de SQL Server:

    bash
    $
    sqlcmd -S <YOUR_DB_ENDPOINT> -U sa -P '<YOUR_SA_PASSWORD>' -C -i nr-grant-permission.sql
  4. (Opcional) Verifique que el usuario se haya creado correctamente con los permisos correctos:

    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';"

    Salida esperada:

    bash
    $
    User Permission_Granted
    $
    -------------------------------------------------------------------------------------
    $
    newrelic CONNECT SQL
    $
    newrelic VIEW ANY DEFINITION
    $
    newrelic VIEW ANY DATABASE
    $
    newrelic VIEW SERVER STATE

    Esta salida confirma que su usuario se ha creado correctamente con los permisos de nivel de servidor requeridos.

    Sugerencia

    Para administrar de forma segura la información confidencial, como las credenciales de la base de datos, almacénelas en herramientas de gestión de secretos.

Configurar el Colector NRDOT

Seleccione la opción de configuración según sus requisitos de monitoreo:

  1. Cree un archivo de configuración llamado mssql-config.yaml:

    bash
    $
    sudo nano /etc/nrdot-collector/mssql-config.yaml
  2. Agregue la siguiente configuración al archivo mssql-config.yaml creado en el paso anterior:

    configuración completa

    Esta configuración mínima se centra solo en el monitoreo de la base de datos sin métricas de infraestructura del host. Para habilitar el monitoreo con todas las características, consulte la referencia de configuración.

    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]

Actualizar la configuración de NRDOT Collector

Después de configurar su archivo YAML con las entradas interactivas anteriores, complete la configuración de NRDOT Collector:

  1. Edite el archivo de configuración del servicio:

    bash
    $
    sudo nano /etc/nrdot-collector/nrdot-collector.conf
  2. Actualice la ruta de configuración para que apunte a su nuevo archivo mssql-config.yaml:

    bash
    $
    OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"
  3. (Opcional) Valide la configuración del Collector de NRDOT:

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

    Sugerencia

    Para correlacionar el rendimiento de su aplicación con las operaciones de la base de datos, puede configurar la identificación del servicio de base de datos. Para obtener más información, consulte la guía de configuración de identificación del servicio de base de datos.

Reiniciar NRDOT Collector

Después de actualizar su configuración, reinicie el servicio NRDOT Collector:

bash
$
sudo systemctl restart nrdot-collector

Sugerencia

Siempre reinicie el servicio NRDOT Collector después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.

Encuentra y utiliza tus datos

Una vez que sus datos se estén recopilando, puede acceder al monitoreo integral de bases de datos SQL Server a través de la UI de New Relic.

Para encontrar su entidad de base de datos SQL Server en New Relic:

  1. Vaya a one.newrelic.com > All capabilities > Databases.

  2. En el menú desplegable Entity type, seleccione MSSQL instance y luego haga clic en Apply.

  3. Seleccione su base de datos SQL Server de la lista de entidades.

    Después de configurar el monitoreo de SQL Server con NRDOT, puede:

Configurar la correlación de APM y base de datos

Aprenda a correlacionar el rendimiento de la aplicación con las operaciones de la base de datos en New Relic.

Resolución de problemas

Aprenda a solucionar problemas de la configuración de monitoreo de MSSQL Windows en New Relic.

Referencia de métricas

Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.

Copyright © 2026 New Relic Inc.

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