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.
Obtenez des informations détaillées complètes sur les performances de votre AWS RDS SQL Server grâce au monitoring de base de données, à l'analyse des requêtes et aux métriques de santé du système à l'aide du collecteur New Relic Distribution of OpenTelemetry (NRDOT).
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.
Conseil
Si vous utilisez SQL Server dans un environnement auto-hébergé Linux, consultez l’ instrumentation Linux pour RDS.
Prérequis
Compte New Relic avec une clé de licencevalide
Point de terminaison OTLP New Relic pour votre région
Exigences d'AWS RDS SQL Server :
- AWS RDS SQL Server 2017 ou version ultérieure
- Nom d'utilisateur et mot de passe maître RDS
- Groupe de sécurité autorisant les connexions entrantes sur le port
1433ou un port personnalisé
Exigences système Linux :
sqlcmdutilitaire installé sur votre système Linux- 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 package NRDOT pour votre distribution Linux. Remplacez <NRDOT_VERSION> par le dernier tag de sortie de la page nrdot-collector-releases.
Important
Installez le Collector NRDOT sur une instance EC2 ou une machine locale disposant d’une connectivité réseau à votre instance RDS SQL Server. Assurez-vous que votre groupe de sécurité autorise les connexions entrantes sur le port 1433 (ou un port personnalisé).
Créer un utilisateur de monitoring
Exécutez ce script en tant qu’utilisateur root pour créer l’utilisateur de monitoring newrelic et accorder les autorisations nécessaires pour collecter les métriques RDS SQL Server.
Créez un fichier nommé
nr-grant-permission-rds.sql.Collez le script SQL suivant pour créer l’utilisateur de monitoring
newrelicet remplacez<YOUR_PASSWORD>par le mot de passe souhaité :USE [master];GOCREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_PASSWORD>';GO-- Instance-level permissionsGRANT 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 databasesDECLARE @name SYSNAME;DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FORSELECT [name]FROM [master].[sys].[databases]WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution')AND [state] = 0; -- Only online databasesOPEN db_cursor;FETCH NEXT FROM db_cursor INTO @name;WHILE @@FETCH_STATUS = 0BEGINBEGIN TRYEXEC('USE [' + @name + '];IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'')BEGINCREATE USER [newrelic] FOR LOGIN [newrelic];END;GRANT VIEW DATABASE STATE TO [newrelic];');END TRYBEGIN CATCHPRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();END CATCHFETCH NEXT FROM db_cursor INTO @name;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GOExécutez le script à l'aide de
sqlcmd. Remplacez<YOUR-RDS-ENDPOINT>par votre point de terminaison RDS et<YOUR_MASTER_PASSWORD>par votre mot de passe maître :bash$sqlcmd -S <YOUR-RDS-ENDPOINT> -U <YOUR_MASTER_USER> -P '<YOUR_MASTER_PASSWORD>' -C -i nr-grant-permission-rds.sql(Facultatif) Vérifiez que l'utilisateur a été créé avec succès avec les autorisations appropriées :
bash$sqlcmd -S <YOUR-RDS-ENDPOINT> -U <YOUR_MASTER_USER> -P '<YOUR_MASTER_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';"Conseil
Utilisez votre nom d’utilisateur et votre mot de passe principal RDS pour exécuter ces commandes. Le script exclut automatiquement la base de données
rdsadminqui est réservée par AWS. 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
Choisissez votre option de configuration en fonction de vos exigences de monitoring :
Créez un fichier de configuration nommé
mssql-config.yaml:bash$sudo nano /etc/nrdot-collector/mssql-config.yamlAjoutez la configuration suivante au fichier
mssql-config.yamlcréé à 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.yaml1receivers:2nrsqlserver:3collection_interval: 15s4# Connection details - Use your RDS endpoint5username: newrelic6password: YOUR_PASSWORD7server: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com8port: 1433910# Enable comprehensive database metrics11metrics:12sqlserver.database.count:13enabled: true14sqlserver.database.io:15enabled: true16sqlserver.database.latency:17enabled: true18sqlserver.database.operations:19enabled: true20sqlserver.database.tempdb.space:21enabled: true22sqlserver.database.tempdb.version_store.size:23enabled: true24sqlserver.deadlock.rate:25enabled: true26sqlserver.os.wait.duration:27enabled: true28sqlserver.processes.blocked:29enabled: true30sqlserver.memory.grants.pending.count:31enabled: true32sqlserver.database.file.size:33enabled: true34sqlserver.memory.area:35enabled: true3637# Enable top query and query sample log collection38events:39db.server.query_sample:40enabled: true41db.server.top_query:42enabled: true4344# Top query collection configuration45top_query_collection:46lookback_time: 60s47max_query_sample_count: 100048top_query_count: 25049collection_interval: 60s5051collect_full_query_text: true52allowed_comment_keys:53- nr_service_guid5455# Query sample collection configuration56query_sample_collection:57max_rows_per_query: 1005859processors:60memory_limiter:61check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}62limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}63spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}6465batch:6667exporters:68otlp:69endpoint: https://otlp.nr-data.net:431870headers:71api-key: YOUR_LICENSE_KEY72tls:73insecure: false74compression: gzip7576service:77telemetry:78metrics:79level: none8081pipelines:82metrics:83receivers: [nrsqlserver]84processors: [memory_limiter, batch]85exporters: [otlp]8687logs:88receivers: [nrsqlserver]89processors: [memory_limiter, batch]90exporters: [otlp]
Mettre à jour la configuration du Collector NRDOT
Après avoir configuré votre fichier YAML avec les entrées interactives ci-dessus, terminez la configuration du Collector NRDOT :
Modifiez le fichier de configuration du service à l’aide de la commande suivante :
bash$sudo nano /etc/nrdot-collector/nrdot-collector.confMettez à jour le chemin de configuration pour pointer vers votre nouveau fichier
mssql-config.yaml:bash$OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"(Facultatif) Validez la configuration du Collector NRDOT :
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yamlConseil
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 :
$sudo systemctl restart nrdot-collectorConseil
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 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 :
Allez à one.newrelic.com > All capabilities > Databases.
Dans la liste déroulante Entity type, sélectionnez MSSQL instance, puis cliquez sur Apply.
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 :
- Créez des dashboards personnalisés pour visualiser les métriques de votre base de données
- Configurer des alertes pour les seuils critiques de performances des bases de données
- Explorez vos données à l’aide des fonctionnalités de requête de New Relic
Documentation associée
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 Linux RDS dans New Relic.
Référence des métriques
Découvrez les métriques disponibles collectées par le collecteur NRDOT.