• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Monitoring de Windows RDS MSSQL avec NRDOT

|View as Markdown (English)

Aperçu

Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !

Cette fonctionnalité est actuellement fournie dans le cadre d'un aperçu conformément à nos politiques de pré-sortie.

Configurez le monitoring Microsoft SQL Server à l'aide du NRDOT Collector dans les environnements Windows pour monitorer les instances AWS RDS pour SQL Server. Pour monitorer dans un environnement auto-hébergé, consultez l'instrumentation auto-hébergée Windows.

Pour installer ceci via l'UI de New Relic à la place, accédez à one.newrelic.com > Integrations & Agents > MSSQL (OpenTelemetry) . Suivez les instructions à l'écran pour configurer l'intégration. Cette page couvre uniquement le chemin d'installation de la CLI.

En fonction de la configuration de sécurité de votre RDS SQL Server, choisissez les méthodes d'authentification pour connecter le NRDOT Collector à votre instance RDS :

Prérequis

Avant de monitorer votre Microsoft SQL Server avec NRDOT, assurez-vous que votre environnement répond à ces exigences :

  • Compte New Relic avec une clé de licencevalide

  • Point de terminaison OTLP New Relic pour votre région

  • Exigences d'AWS RDS SQL Server :

    • Authentification SQL Server activée sur l’instance RDS
    • Identifiants de l'utilisateur principal RDS ou identifiants pour une connexion SQL Server avec le rôle rds_superuser
    • Groupe de sécurité RDS configuré pour autoriser les connexions sur le port 1433 ou un port personnalisé
    • SQL Server Management Studio (SSMS) ou l'utilitaire sqlcmd
  • Connectivité réseau vers le point de terminaison OTLP de New Relic

  • L'URL de votre point de terminaison RDS SQL Server, qui se trouve dans votre console AWS RDS sous Connectivité & sécurité. Pour plus d'informations, consultez la documentation AWS RDS.

Inscrivez-vous à la préversion

Cette intégration est disponible dans le cadre du programme d'aperçu public de New Relic. Contactez le responsable de votre organisation pour vous inscrire à partir de la page Previews & Trials.

Installer le collecteur NRDOT

Installez le NRDOT Collector sur une instance Windows EC2 ou une machine Windows locale qui peut se connecter à votre instance RDS SQL Server.

Important

Pour le monitoring RDS, installez le Collector NRDOT sur une instance EC2 dans le même VPC que votre instance RDS pour une connectivité réseau optimale et une latence plus faible.

Téléchargez et installez le NRDOT Collector à l'aide de PowerShell :

bash
$
[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

Créer un utilisateur de monitoring

Exécutez ce script en tant qu’utilisateur admin pour créer l’utilisateur de monitoring newrelic et accorder les permissions nécessaires pour collecter les métriques SQL Server.

Conseil

Exécutez ce script en utilisant le nom d’utilisateur principal RDS ou un utilisateur avec le rôle rds_superuser. Le script exclut automatiquement la base de données rdsadmin qui est réservée par AWS.

Dans votre SQL Server Management Studio (SSMS), exécutez le script suivant pour créer l’utilisateur de monitoring newrelic. Remplacez <YOUR_PASSWORD> par le mot de passe souhaité :

USE [master];
GO
CREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_PASSWORD>';
GO
GRANT VIEW SERVER STATE TO [newrelic];
GRANT VIEW ANY DEFINITION TO [newrelic];
GRANT VIEW ANY DATABASE TO [newrelic];
GO
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 = ''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

Conseil

Pour gérer en toute sécurité les informations sensibles, telles que les identifiants de base de données, stockez-les dans des outils de gestion des secrets.

Configurer le collecteur NRDOT

Créez un nouveau fichier de configuration NRDOT Collector pour votre configuration RDS SQL Server.

  1. Créez un fichier de configuration nommé mssql-config.yaml dans PowerShell en tant qu’administrateur :

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. Ajoutez la configuration suivante au fichier mssql-config.yaml créé à l’étape précédente :

    configuration complète

    Cette configuration se concentre sur le monitoring essentiel de la base de données pour votre environnement RDS. Pour activer un monitoring complet avec toutes les métriques disponibles, consultez la référence de configuration.

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

Mettez à jour le registre des services Windows

  1. Mettez à jour le registre des services Windows pour utiliser le nouveau fichier mssql-config.yaml à l'aide de l'une des méthodes suivantes :

    • Pour PowerShell : Exécutez la commande suivante en tant qu'administrateur :

      bash
      $
      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"'
    • Pour l’invite de commande : si PowerShell n’est pas disponible, utilisez plutôt l’invite de commande et exécutez la commande suivante en tant qu’administrateur :

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Validez la configuration du Collector NRDOT pour vous assurer qu’elle est correctement formatée et qu’elle fonctionnera correctement.

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Conseil

    Pour corréler les performances de votre application avec les opérations de base de données, vous pouvez configurer l'identification du service de bases de données. Pour plus d'informations, reportez-vous à configurer l'identification du service de bases de données.

Redémarrer NRDOT Collector

Après avoir mis à jour votre configuration, redémarrez le service NRDOT Collector :

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

Conseil

Redémarrez toujours le service NRDOT Collector après avoir modifié la configuration pour vous assurer que les nouveaux paramètres soient pris en compte.

Trouvez et utilisez vos données

Une fois vos données collectées, vous pouvez accéder à un monitoring complet des bases de données SQL Server via l'interface utilisateur de New Relic.

Pour trouver votre entité de base de données SQL Server dans New Relic :

  1. Allez à https://one.newrelic.com > All Capabilities > Databases.

  2. Dans la liste déroulante Entity type, sélectionnez MSSQL instance, puis cliquez sur Apply.

  3. Sélectionnez votre base de données SQL Server dans la liste des entités.

    Après avoir configuré le monitoring SQL Server avec NRDOT, vous pouvez :

Prérequis

Avant de monitorer votre Microsoft SQL Server avec NRDOT à l’aide de l’authentification de domaine Windows, assurez-vous que votre environnement répond à ces exigences :

  • Compte New Relic avec une clé de licencevalide

  • Point de terminaison OTLP New Relic pour votre région

  • Prérequis SQL Server, vous aurez besoin de :

    • SQL Server 2017 ou version ultérieure sur Amazon RDS
    • Identifiants de l'utilisateur principal RDS ou identifiants pour une connexion SQL Server avec le rôle rds_superuser
    • Groupe de sécurité RDS configuré pour autoriser les connexions sur le port 1433 ou un port personnalisé
    • SQL Server Management Studio (SSMS) ou l'utilitaire sqlcmd
    • Instance RDS associée au service AWS Active Directory
  • Exigences d'authentification de domaine Windows :

    • Environnement de domaine Windows avec Active Directory
    • Instance EC2 Windows jointe au domaine
    • RDS SQL Server configuré pour accepter l’authentification Windows
    • Compte d'utilisateur de domaine qui sera utilisé par le NRDOT Collector
  • Connectivité réseau vers le point de terminaison OTLP de New Relic

  • L'URL de votre point de terminaison RDS SQL Server, qui se trouve dans votre console AWS RDS sous Connectivité & sécurité. Pour plus d'informations, consultez la documentation AWS RDS.

Inscrivez-vous à la préversion

Cette intégration est disponible dans le cadre du programme d'aperçu public de New Relic. Contactez le responsable de votre organisation pour vous inscrire à partir de la page Previews & Trials.

Installer le collecteur NRDOT

Installez le Collector NRDOT sur une instance EC2 Windows jointe au domaine ou une machine Windows locale qui fait partie du même domaine et peut se connecter à votre instance RDS SQL Server.

Important

Pour le monitoring RDS, installez le Collector NRDOT sur une instance EC2 dans le même VPC que votre instance RDS pour une connectivité réseau optimale et une latence plus faible.

  1. Téléchargez et installez le NRDOT Collector à l'aide de PowerShell :

    bash
    $
    [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

Créer une connexion de domaine Windows

Connectez-vous à votre instance RDS SQL Server à l'aide de SQL Server Management Studio (SSMS) ou de sqlcmd avec des privilèges administratifs.

Dans votre SQL Server Management Studio (SSMS), exécutez le script suivant pour créer une connexion pour votre compte gMSA et accorder les autorisations nécessaires. Remplacez toutes les occurrences de <YOUR_DOMAIN>\<YOUR_DOMAIN_USER> par votre véritable nom de domaine et de compte.

USE [master];
GO
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>] FROM WINDOWS;
GO
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GO
-- Grant access to all databases (required for query monitoring and tempdb metrics)
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_DOMAIN_USER>'')
BEGIN
CREATE USER [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>] FOR LOGIN [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
END;
GRANT VIEW DATABASE STATE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];');
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

Conseil

Pour gérer en toute sécurité les informations sensibles, telles que les identifiants de base de données, stockez-les dans des outils de gestion des secrets.

Exécuter en tant qu'utilisateur de domaine

  1. Configurez le service NRDOT Collector pour qu’il s’exécute en tant qu’utilisateur de votre domaine à l’aide de PowerShell. Remplacez YOUR_DOMAIN\YOUR_USER_ACCOUNT par votre domaine et votre nom de compte :

    bash
    $
    # Configure service to use domain account
    $
    # The space after obj= and password= is required syntax for sc.exe
    $
    sc.exe config "nrdot-collector" obj= "YOUR_DOMAIN\YOUR_USER_ACCOUNT" password= "<YOUR_PASSWORD>"
    $
    $
    # Restart the service
    $
    Restart-Service nrdot-collector
  2. Validez l’identité du service :

    bash
    $
    Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, State, StartName
    $
    # Expected: StartName = YOUR_DOMAIN\YOUR_USER_ACCOUNT

Configurer le collecteur NRDOT

  1. Créez un fichier de configuration nommé mssql-config.yaml dans PowerShell en tant qu’administrateur ::

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. Ajoutez la configuration suivante au fichier mssql-config.yaml créé à l’étape précédente :

    Important

    L’authentification de domaine Windows utilise la sécurité intégrée, qui utilise la même approche de configuration que l’authentification gMSA. Mettez à jour la valeur du serveur datasource vers votre point de terminaison RDS. Le service NRDOT s’authentifiera à l’aide du compte de domaine que vous avez configuré à l’ Étape 3.

    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 top query and query sample log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    40
    # Top query collection configuration
    41
    top_query_collection:
    42
    lookback_time: 60s
    43
    max_query_sample_count: 1000
    44
    top_query_count: 250
    45
    collection_interval: 60s
    46
    47
    collect_full_query_text: true
    48
    allowed_comment_keys:
    49
    - nr_service_guid
    50
    51
    # Query sample collection configuration
    52
    query_sample_collection:
    53
    max_rows_per_query: 100
    54
    55
    processors:
    56
    memory_limiter:
    57
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    58
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    59
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    60
    61
    batch:
    62
    63
    exporters:
    64
    otlp:
    65
    endpoint: https://otlp.nr-data.net:4318
    66
    headers:
    67
    api-key: YOUR_LICENSE_KEY
    68
    tls:
    69
    insecure: false
    70
    compression: gzip
    71
    72
    service:
    73
    telemetry:
    74
    metrics:
    75
    level: none
    76
    77
    pipelines:
    78
    metrics:
    79
    receivers: [nrsqlserver]
    80
    processors: [memory_limiter, batch]
    81
    exporters: [otlp]
    82
    83
    logs:
    84
    receivers: [nrsqlserver]
    85
    processors: [memory_limiter, batch]
    86
    exporters: [otlp]

    configuration complète

    Cette configuration se concentre sur le monitoring essentiel de la base de données pour votre environnement RDS. Pour activer un monitoring complet avec toutes les métriques disponibles, consultez la référence de configuration.

Mettre à jour le registre des services Windows

  1. Mettez à jour le registre des services Windows pour utiliser le nouveau fichier mssql-config.yaml à l'aide de l'une des méthodes suivantes :

    • Pour PowerShell : Exécutez la commande suivante en tant qu'administrateur :

      bash
      $
      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"'
    • Pour l’invite de commande : si PowerShell n’est pas disponible, utilisez plutôt l’invite de commande et exécutez la commande suivante en tant qu’administrateur :

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Validez la configuration du Collector NRDOT pour vous assurer qu'elle est correctement formatée et qu'elle fonctionnera correctement :

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Conseil

    Pour corréler les performances de votre application avec les opérations de base de données, vous pouvez configurer l'identification du service de bases de données. Pour plus d’informations, reportez-vous au guide de configuration de l’identification du service de bases de données.

Redémarrer NRDOT Collector

Après avoir mis à jour votre configuration, redémarrez le service NRDOT Collector :

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

Vérifiez que le service s’exécute sous le compte de domaine en consultant les services Windows (services.msc). La colonne Log On As doit afficher votre compte de domaine. Par exemple, CORP\SQLMonitor.

Trouvez et utilisez vos données

Une fois vos données collectées, vous pouvez accéder à un monitoring complet des bases de données SQL Server via l'interface utilisateur de New Relic.

Pour trouver votre entité de base de données SQL Server dans New Relic :

  1. Allez à https://one.newrelic.com > All Capabilities > Databases.

  2. Dans la liste déroulante Entity type, sélectionnez MSSQL instance, puis cliquez sur Apply.

  3. Sélectionnez votre base de données SQL Server dans la liste des entités.

    Après avoir configuré le monitoring SQL Server avec NRDOT, vous pouvez :

Prérequis

Avant de monitorer votre Microsoft SQL Server avec NRDOT à l'aide de l'authentification gMSA, assurez-vous d'avoir :

  • Compte New Relic avec une clé de licencevalide

  • Point de terminaison OTLP New Relic pour votre région

  • Prérequis SQL Server, vous aurez besoin de :

    • SQL Server 2017 ou version ultérieure sur Amazon RDS
    • Identifiants de l'utilisateur principal RDS ou identifiants pour une connexion SQL Server avec le rôle rds_superuser
    • Groupe de sécurité RDS configuré pour autoriser les connexions sur le port 1433 ou un port personnalisé
    • SQL Server Management Studio (SSMS) ou l'utilitaire sqlcmd
    • Instance RDS associée au service AWS Active Directory
  • L'URL de votre point de terminaison RDS SQL Server, qui se trouve dans votre console AWS RDS sous Connectivité & sécurité. Pour plus d'informations, consultez la documentation AWS RDS.

  • Environnement Active Directory avec prise en charge de gMSA

  • Instance EC2 Windows jointe au domaine autorisée à utiliser le compte gMSA

  • Connectivité réseau vers le point de terminaison OTLP de New Relic

Inscrivez-vous à la préversion

Cette intégration est disponible dans le cadre du programme d'aperçu public de New Relic. Contactez le responsable de votre organisation pour vous inscrire à partir de la page Previews & Trials.

Installer le collecteur NRDOT

Téléchargez et installez le NRDOT Collector à l'aide de PowerShell :

bash
$
[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

Créer un utilisateur de monitoring

Connectez-vous à votre instance RDS SQL Server à l'aide de SQL Server Management Studio (SSMS) ou de sqlcmd avec des privilèges administratifs.

Dans votre SQL Server Management Studio (SSMS), exécutez le script suivant pour créer une connexion pour votre compte gMSA et accorder les autorisations nécessaires. Remplacez toutes les occurrences de <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME> par votre véritable nom de domaine et de compte.

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

Conseil

Pour gérer en toute sécurité les informations sensibles, telles que les identifiants de base de données, stockez-les dans des outils de gestion des secrets.

Exécuter en tant que compte gMSA

Configurez le service Collector NRDOT pour qu'il s'exécute en tant que compte gMSA à l'aide de PowerShell. Remplacez <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$ par votre domaine et le nom de votre compte gMSA. Vous devez inclure le $ à la fin, car il est requis pour les comptes gMSA :

bash
$
# 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

Important

Les comptes gMSA ne nécessitent pas de mots de passe. Laissez-le vide lors de la configuration du service.

Configurer le collecteur NRDOT

  1. Créez un fichier de configuration nommé mssql-config.yaml dans PowerShell en tant qu’administrateur ::

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. Ajoutez la configuration suivante au fichier mssql-config.yaml créé à l’étape précédente :

    configuration complète

    Cette configuration se concentre sur le monitoring essentiel de la base de données pour votre environnement RDS. Pour activer un monitoring complet avec toutes les métriques disponibles, consultez la référence de configuration.

    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 top query and query sample log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    40
    # Top query collection configuration
    41
    top_query_collection:
    42
    lookback_time: 60s
    43
    max_query_sample_count: 1000
    44
    top_query_count: 250
    45
    collection_interval: 60s
    46
    47
    collect_full_query_text: true
    48
    allowed_comment_keys:
    49
    - nr_service_guid
    50
    51
    # Query sample collection configuration
    52
    query_sample_collection:
    53
    max_rows_per_query: 100
    54
    55
    processors:
    56
    memory_limiter:
    57
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    58
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    59
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    60
    61
    batch:
    62
    63
    exporters:
    64
    otlp:
    65
    endpoint: https://otlp.nr-data.net:4318
    66
    headers:
    67
    api-key: YOUR_LICENSE_KEY
    68
    tls:
    69
    insecure: false
    70
    compression: gzip
    71
    72
    service:
    73
    telemetry:
    74
    metrics:
    75
    level: none
    76
    77
    pipelines:
    78
    metrics:
    79
    receivers: [nrsqlserver]
    80
    processors: [memory_limiter, batch]
    81
    exporters: [otlp]
    82
    83
    logs:
    84
    receivers: [nrsqlserver]
    85
    processors: [memory_limiter, batch]
    86
    exporters: [otlp]

Mettre à jour le registre des services Windows

  1. Mettez à jour le registre des services Windows pour utiliser le nouveau fichier mssql-config.yaml à l'aide de l'une des méthodes suivantes :

    • Pour PowerShell : Exécutez la commande suivante en tant qu'administrateur :

      bash
      $
      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"'
    • Pour l’invite de commande : si PowerShell n’est pas disponible, utilisez plutôt l’invite de commande et exécutez la commande suivante en tant qu’administrateur :

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Validez la configuration du collecteur NRDOT pour vous assurer qu’elle est correctement formatée et qu’elle fonctionnera correctement :

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Conseil

    Pour corréler les performances de votre application avec les opérations de base de données, vous pouvez configurer l'identification du service de bases de données. Pour plus d'informations, reportez-vous à configurer l'identification du service de bases de données.

Redémarrer le collecteur NRDOT

Après avoir mis à jour votre configuration, redémarrez le service du Collector NRDOT sur votre instance EC2 Windows jointe au domaine :

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

Vérifiez que le service s’exécute sous le compte gMSA en consultant les services Windows (services.msc). La colonne Log On As doit afficher votre compte gMSA, par exemple, CORP\SQL-gMSA$.

Trouvez et utilisez vos données

Une fois vos données collectées, vous pouvez accéder à un monitoring complet des bases de données SQL Server via l'interface utilisateur de New Relic.

Pour trouver votre entité de base de données SQL Server dans New Relic :

  1. Allez à https://one.newrelic.com > All Capabilities > Databases.

  2. Dans la liste déroulante Entity type, sélectionnez MSSQL instance, puis cliquez sur Apply.

  3. Sélectionnez votre base de données SQL Server dans la liste des entités.

    Après avoir configuré le monitoring SQL Server avec NRDOT, vous pouvez :

Configurer la corrélation APM-base de données

Découvrez comment corréler les performances des applications avec les opérations de base de données dans New Relic.

Dépannage

Découvrez comment dépanner votre configuration de monitoring MSSQL Windows dans New Relic.

Référence des métriques

Découvrez les métriques disponibles collectées par le collecteur NRDOT.

Droits d'auteur © 2026 New Relic Inc.

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