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 de Microsoft SQL Server à l'aide du collecteur NRDOT sur les environnements auto-hébergés Linux, y compris les serveurs physiques, les machines virtuelles et les déploiements Linux conteneurisés.
Prérequis
Assurez-vous que votre environnement répond à nos exigences de compatibilité et prérequis.
Configurer le Collector NRDOT
Installer le Collector NRDOT sur votre distribution Linux :
Important
Il est recommandé d'installer le Collector NRDOT sur le même hôte que votre instance SQL Server afin de visualiser les métriques d'infrastructure pour le monitoring des performances des requêtes.
Debian/Ubuntu
Pour l'architecture AMD64 (x86_64) :
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_amd64.deb" --output nrdot-collector.deb && sudo dpkg -i nrdot-collector.debPour l'architecture ARM64 :
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_arm64.deb" --output nrdot-collector.deb && sudo dpkg -i nrdot-collector.debRHEL/CentOS
Pour l'architecture AMD64 (x86_64) :
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_x86_64.rpm" --output nrdot-collector.rpm && sudo rpm -ivh nrdot-collector.rpmPour l'architecture ARM64 :
bash$NRDOT_VERSION=$(curl -s https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest | grep '"tag_name":' | awk -F'"' '{print $4}') && curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${NRDOT_VERSION}/nrdot-collector_${NRDOT_VERSION}_linux_arm64.rpm" --output nrdot-collector.rpm && sudo rpm -ivh nrdot-collector.rpm
Configurer l'utilisateur de la base de données
Exécutez le script suivant en tant que root user/sysadmin pour créer l'utilisateur de monitoring newrelic et accorder des droits de lecture globaux.
Pour créer un utilisateur de monitoring
newrelicsous Linux, créez un fichier nomménr-grant-permission.sqlsur votre instance Linux avec le contenu suivant :USE [master];GOCREATE LOGIN [newrelic] WITH PASSWORD = '<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 = 0BEGINEXEC('USE [' + @name + '];IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'')CREATE USER [newrelic] FOR LOGIN [newrelic];');END TRYBEGIN CATCHPRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();END CATCHFETCH NEXT FROM db_cursor INTO @name;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GOPour exécuter le script, exécutez la commande suivante. Remplacez
<Your_SA_Password>par votre mot de passe administrateur SQL Server :bash$sqlcmd -S localhost -U sa -P '<Your_SA_Password>' -C -i nr-grant-permission.sql(Facultatif) Pour vérifier que l'utilisateur a été créé avec succès et dispose des autorisations appropriées, exécutez la commande suivante. Remplacez
<Your_SA_Password>par votre mot de passe administrateur SQL Server :bash$sqlcmd -S localhost -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';"Résultat attendu :
User Permission_Granted-------------------------------------------------------------------------------------<your_username> CONNECT SQL<your_username> VIEW ANY DEFINITION<your_username> VIEW ANY DATABASE<your_username> VIEW SERVER STATECette sortie confirme que votre utilisateur a été créé avec succès avec les permissions requises au niveau du serveur.
Configurer le collecteur NRDOT
Sélectionnez votre type de configuration en fonction de vos besoins de monitoring :
Conseil
Remarque : L'option max_concurrent_queries contrôle le nombre de requêtes de métriques que le récepteur exécute en parallèle sur SQL Server lors de chaque cycle de collecte.
receivers: nrsqlserver: max_concurrent_queries: 4 # default is 4 if omitted or set to 0Paramètres de configuration
Le tableau suivant décrit les principaux paramètres de configuration du récepteur nrsqlserver :
| paramètres | Description |
|---|---|
<YOUR_USERNAME> | Saisissez votre nom d'utilisateur de base de données pour l'authentification |
<YOUR_PASSWORD> | Saisissez le mot de passe de votre base de données pour l'authentification |
<YOUR_SERVER> | Saisissez le nom d'hôte ou l'adresse IP de SQL Server |
port | Saisissez votre numéro de port SQL Server. La valeur par défaut est 1433. |
<YOUR_OTLP_ENDPOINT> | Saisissez le point de terminaison OTLP New Relic (par ex., https://otlp.nr-data.net). Pour plus d'informations, consultez la documentation sur les points de terminaison OTLP New Relic. |
<YOUR_LICENSE_KEY> | Entrez votre clé de licence New Relic. |
collection_interval | Intervalle en secondes pour collecter les métriques de base de données. Par défaut : 15s |
Conseil
Remarque : Si vous activez toutes les métriques disponibles, augmentez la valeur limit_mib (par ex., 1000) pour éviter que le limiteur de mémoire ne supprime des données.
Mettez à jour le fichier de configuration du collecteur
Exécutez la commande suivante pour modifier la configuration du service :
bash$sudo nano /etc/nrdot-collector/nrdot-collector.confMettez à jour le chemin de configuration pour qu'il pointe vers votre nouveau fichier mssql-config.yaml :
bash$OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"Valider la configuration du Collector NRDOT
Validez la configuration du Collector NRDOT pour vous assurer qu'elle est correctement formatée et qu'elle fonctionnera correctement :
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yaml
Redémarrer le collecteur NRDOT
Après avoir mis à jour votre configuration, redémarrez le service NRDOT Collector :
$sudo systemctl restart nrdot-collectorConseil
Redémarrez toujours le service de collecte NRDOT après avoir modifié la configuration pour vous assurer que les nouveaux paramètres soient pris en compte.
Prochaines étapes
Après avoir configuré le monitoring auto-hébergé Linux :