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

Installer et configurer NRDOT pour MSSQL sur Windows RDS : authentification gMSA

|View as Markdown (English)

Configurez le monitoring de Microsoft SQL Server à l’aide du NRDOT Collector sur des environnements Windows pour monitorer les instances AWS RDS pour SQL Server, en utilisant un compte de service géré de groupe (gMSA). Pour monitorer dans un environnement auto-hébergé, consultez l’ instrumentation auto-hébergée Windows.

Installation guidée

Pour installer ceci via l’UI de New Relic à la place, accédez à one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) . Suivez les instructions à l’écran pour configurer l’intégration. Cette page couvre uniquement l’installation manuelle.

Cette page traite de l’authentification gMSA. Si votre environnement utilise une méthode d’authentification différente, consultez Authentification SQL Server ou Authentification de domaine Windows.

Prérequis

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

  • Un compte New Relic avec une clé de licence valide.

  • Connectivité réseau vers le point de terminaison OTLP New Relic pour votre région.

  • Prérequis SQL Server :

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

  • Un environnement Active Directory avec prise en charge de gMSA.

  • Une instance EC2 Windows jointe à un domaine autorisée à utiliser le compte gMSA.

Installer le collecteur NRDOT

Téléchargez et installez le NRDOT Collector à l'aide de 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

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 :

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

    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 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]

Conseil

  • Le pipeline logs ne transporte ni les logs de débogage du collecteur, ni les logs internes de l’agent. Il transmet la télémétrie des requêtes SQL Server, y compris le texte des requêtes, les plans d’exécution, et les données d’exemple. Le Récepteur nrsqlserver capture cette télémétrie via les événements db.server.query_sample, db.server.top_query, db.server.query_plan, et db.server.top_procedure émis sous forme d’enregistrements de log OpenTelemetry.

  • L’événement db.server.top_procedure nécessite SQL Server 2017 CU3 ou une version ultérieure, qui a introduit la prise en charge de sys.dm_exec_procedure_stats.total_spills. Sur les versions antérieures, cet événement n’émet pas de données et log une erreur. Les autres événements ne sont pas affectés. L’accès à sys.dm_exec_procedure_stats nécessite VIEW SERVER STATE (ou VIEW SERVER PERFORMANCE STATE, selon la version de SQL Server). De plus, VIEW ANY DEFINITION est requis pour que OBJECT_NAME et OBJECT_SCHEMA_NAME se résolvent correctement dans toutes les bases de données utilisateur, et CONNECT SQL est nécessaire pour configurer les sessions initiales. Le login gMSA créé dans Créer un utilisateur de monitoring possède déjà les 3 permissions.

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 :

      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 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 de la base de données SQL Server via l'UI 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.