• /
  • 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

Instalar y configurar NRDOT para MSSQL en Windows RDS: autenticación gMSA

|View as Markdown (English)

Configure el monitoreo de Microsoft SQL Server mediante el NRDOT Collector en entornos Windows para monitorear instancias de AWS RDS for SQL Server, usando una cuenta de servicio administrada de grupo (gMSA). Para monitorear en un entorno autohospedado, consulte la instrumentación autohospedada de Windows.

Instalación guiada

Para instalar esto a través de la UI de New Relic en su lugar, vaya a one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) . Siga las instrucciones en pantalla para configurar la integración. Esta página solo cubre la instalación manual.

Esta página trata sobre la autenticación gMSA. Si su entorno utiliza un método de autenticación diferente, consulte Autenticación de SQL Server o Autenticación de dominio de Windows.

Requisitos previos

Antes de monitorear su Microsoft SQL Server con NRDOT mediante la autenticación gMSA, asegúrese de haber:

  • Una cuenta de New Relic con una clave de licencia válida.

  • Conectividad de red al extremo OTLP de New Relic para su región.

  • Requisitos de SQL Server:

    • SQL Server 2017 o posterior en Amazon RDS.
    • Credenciales de usuario maestro de RDS o credenciales para un inicio de sesión de SQL Server con el rol rds_superuser.
    • Grupo de seguridad de RDS configurado para permitir conexiones en el puerto 1433 o en un puerto personalizado.
    • SQL Server Management Studio (SSMS) o la utilidad sqlcmd.
    • Instancia de RDS asociada al servicio AWS Active Directory.
  • La URL del extremo de su servidor SQL de RDS, que se puede encontrar en su consola de AWS RDS en Conectividad y seguridad. Para obtener más información, consulte la documentación de AWS RDS.

  • Un entorno de Active Directory con soporte para gMSA.

  • Una instancia EC2 de Windows unida a un dominio autorizada para usar la cuenta gMSA.

Instalar NRDOT Collector

Descarga e instala el NRDOT Collector usando PowerShell:

[Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'
$NRDOT_VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest").tag_name
$WebClient = New-Object System.Net.WebClient
$WebClient.Headers.Add("User-Agent", "Mozilla/5.0")
$WebClient.DownloadFile("https://github.com/newrelic/nrdot-collector-releases/releases/download/$NRDOT_VERSION/nrdot-collector_${NRDOT_VERSION}_windows_x64.msi", "$env:TEMP\nrdot-collector.msi")
Start-Process msiexec.exe -ArgumentList "/i `"$env:TEMP\nrdot-collector.msi`" /qn /norestart /L*V `"$env:TEMP\nrdot_install.log`"" -Wait
Get-Service nrdot-collector -ErrorAction SilentlyContinue

Crear usuario de monitoreo

Conéctese a la instancia de RDS SQL Server mediante SQL Server Management Studio (SSMS) o sqlcmd con privilegios administrativos.

En SQL Server Management Studio (SSMS), ejecute el siguiente script para crear un inicio de sesión para la cuenta gMSA y otorgar los permisos necesarios. Reemplace todas las apariciones de <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME> con el nombre de dominio y cuenta real.

USE [master];
GO
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FROM WINDOWS;
GO
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GO
-- Grant access to all 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;
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 = ''<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$'')
BEGIN
CREATE USER [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FOR LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
END;
GRANT VIEW DATABASE STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];');
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

Sugerencia

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

Ejecutar como cuenta gMSA

Configure el servicio NRDOT Collector para que se ejecute como la cuenta gMSA mediante PowerShell. Reemplace <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$ con su dominio y nombre de cuenta gMSA. Debe incluir el $ al final, ya que es necesario para las cuentas gMSA:

# Stop the NRDOT Collector service
Stop-Service nrdot-collector
# Configure service to use gMSA account
# Use cmd /c to avoid PowerShell treating $ as a variable
cmd /c 'sc config nrdot-collector obj= "<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$" password= ""'
# Verify the configuration
Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, StartName
# Start the NRDOT Collector service
Start-Service nrdot-collector

Importante

Las cuentas gMSA no requieren contraseñas. Manténgalo vacío al configurar el servicio.

Configurar el Colector NRDOT

  1. Cree un archivo de configuración llamado mssql-config.yaml en PowerShell como administrador:
New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  1. Agregue la siguiente configuración al archivo mssql-config.yaml creado en el paso anterior:

    configuración completa

    Esta configuración se centra en el monitoreo esencial de la base de datos para su entorno RDS. Para habilitar el monitoreo integral con todas las métricas disponibles, consulte la referencia de configuración.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com;port=1433;integrated security=true;encrypt=true;TrustServerCertificate=true;"
    5
    6
    # Enable comprehensive database metrics
    7
    metrics:
    8
    sqlserver.database.count:
    9
    enabled: true
    10
    sqlserver.database.io:
    11
    enabled: true
    12
    sqlserver.database.latency:
    13
    enabled: true
    14
    sqlserver.database.operations:
    15
    enabled: true
    16
    sqlserver.database.tempdb.space:
    17
    enabled: true
    18
    sqlserver.database.tempdb.version_store.size:
    19
    enabled: true
    20
    sqlserver.deadlock.rate:
    21
    enabled: true
    22
    sqlserver.os.wait.duration:
    23
    enabled: true
    24
    sqlserver.processes.blocked:
    25
    enabled: true
    26
    sqlserver.memory.grants.pending.count:
    27
    enabled: true
    28
    sqlserver.database.file.size:
    29
    enabled: true
    30
    sqlserver.memory.area:
    31
    enabled: true
    32
    33
    # Enable query sample, top query, query plan, and top procedure log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    db.server.query_plan:
    40
    enabled: true
    41
    db.server.top_procedure:
    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
    collect_full_query_text: true
    51
    allowed_comment_keys:
    52
    - nr_service_guid
    53
    54
    # Query sample collection configuration
    55
    query_sample_collection:
    56
    max_rows_per_query: 100
    57
    collect_full_query_text: true
    58
    allowed_comment_keys:
    59
    - nr_service_guid
    60
    61
    # Top stored procedure collection configuration
    62
    top_procedure_collection:
    63
    max_procedure_sample_count: 1000
    64
    top_procedure_count: 250
    65
    collection_interval: 60s
    66
    67
    resource_attributes:
    68
    db.system.version:
    69
    enabled: true
    70
    sqlserver.db.edition:
    71
    enabled: true
    72
    73
    processors:
    74
    memory_limiter:
    75
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    76
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    77
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    78
    79
    exporters:
    80
    otlp:
    81
    endpoint: https://otlp.nr-data.net:4318
    82
    headers:
    83
    api-key: YOUR_LICENSE_KEY
    84
    tls:
    85
    insecure: false
    86
    compression: gzip
    87
    88
    sending_queue:
    89
    enabled: true
    90
    sizer: bytes
    91
    queue_size: 100_000_000
    92
    num_consumers: 10
    93
    batch:
    94
    sizer: bytes
    95
    max_size: 1_000_000
    96
    min_size: 0
    97
    flush_timeout: 5s
    98
    99
    service:
    100
    telemetry:
    101
    metrics:
    102
    level: none
    103
    104
    pipelines:
    105
    metrics:
    106
    receivers: [nrsqlserver]
    107
    processors: [memory_limiter]
    108
    exporters: [otlp]
    109
    110
    logs:
    111
    receivers: [nrsqlserver]
    112
    processors: [memory_limiter]
    113
    exporters: [otlp]

    Sugerencia

    El pipeline logs no transporta registros de depuración del recolector ni logs internos del agente. Transmite telemetría de consultas de SQL Server, incluido el texto de la consulta, los planes de ejecución y los datos de muestra. El receptor nrsqlserver captura esta telemetría a través de los eventos db.server.query_sample, db.server.top_query, db.server.query_plan y db.server.top_procedure emitidos como registros de log de OpenTelemetry.

    El evento db.server.top_procedure requiere SQL Server 2017 CU3 o posterior, que introdujo el soporte para sys.dm_exec_procedure_stats.total_spills. En versiones anteriores, este evento no emite datos y registra un error. Otros eventos no se ven afectados. El acceso a sys.dm_exec_procedure_stats requiere VIEW SERVER STATE (o VIEW SERVER PERFORMANCE STATE, dependiendo de la versión de SQL Server). Además, se requiere VIEW ANY DEFINITION para que OBJECT_NAME y OBJECT_SCHEMA_NAME se resuelvan correctamente en todas las bases de datos de usuarios, y se necesita CONNECT SQL para configurar las sesiones iniciales. El inicio de sesión de gMSA creado en Crear usuario de monitoreo ya tiene los 3 permisos.

Actualizar el registro del servicio de Windows

  1. Actualice el registro de servicios de Windows para usar el nuevo archivo mssql-config.yaml mediante uno de los siguientes métodos:

    • Para PowerShell: ejecute el siguiente comando como administrador:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nrdot-collector" -Name "ImagePath" -Value '"C:\Program Files\nrdot-collector\nrdot-collector.exe" --config "C:\Program Files\nrdot-collector\mssql-config.yaml"'
  • Para el símbolo del sistema: si PowerShell no está disponible, use el símbolo del sistema en su lugar y ejecute el siguiente comando como administrador:
bash
$
sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  1. Valide la configuración del NRDOT Collector para asegurarse de que tenga el formato correcto y funcione correctamente:
bash
$
& "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\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 configurar la identificación del servicio de base de datos.

Reiniciar NRDOT Collector

Después de actualizar la configuración, reinicie el servicio NRDOT Collector en su instancia de Windows EC2 unida al dominio:

bash
$
net stop nrdot-collector
$
net start nrdot-collector

Verifique que el servicio se esté ejecutando bajo la cuenta gMSA revisando los servicios de Windows (services.msc). La columna Log On As debería mostrar la cuenta gMSA, por ejemplo, CORP\SQL-gMSA$.

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 https://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.