Avance
Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!
Esta función se proporciona actualmente como parte de una vista previa de conformidad con nuestras políticas de prelanzamiento.
Configure el monitoreo de Microsoft SQL Server utilizando el recolector NRDOT en entornos Linux para monitorear las instancias de AWS RDS para SQL Server.
Requisitos previos
Asegúrese de que su entorno cumpla con nuestra compatibilidad y requisitos previos.
Configurar el NRDOT Collector
Instale el NRDOT Collector en su instancia EC2 de Linux o máquina Linux local que pueda conectarse a su instancia de RDS SQL Server.
Importante
Instale el Collector NRDOT en una instancia EC2 o máquina local que tenga conectividad de red a su instancia de RDS SQL Server. Asegúrese de que su grupo de seguridad permita conexiones entrantes en el puerto 1433 (o su puerto personalizado).
Debian/Ubuntu
Para la arquitectura 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.debPara la arquitectura 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
Para la arquitectura 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.rpmPara la arquitectura 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
Configurar el usuario de la base de datos
Conéctese a su instancia de RDS SQL Server y cree el usuario de monitoreo newrelic con los permisos adecuados.
Cree un archivo llamado
nr-grant-permission-rds.sqlen su instancia de Linux con el siguiente contenido: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 = 0BEGINBEGIN TRYEXEC('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;GOEjecute el script utilizando sus credenciales de usuario maestro de RDS. Reemplace
<YOUR-RDS-ENDPOINT>con su extremo de RDS real y<Your_Master_Password>con su contraseña maestra:bash$sqlcmd -S <YOUR-RDS-ENDPOINT> -U <YOUR_MASTER_USER> -P '<Your_Master_Password>' -C -i nr-grant-permission-rds.sql(Opcional) Verifique que el usuario se haya creado correctamente:
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';"Sugerencia
Para RDS: use su nombre de usuario y contraseña maestros de RDS para ejecutar estos comandos. El script excluye automáticamente la base de datos
rdsadminque está reservada por AWS.
Configurar el Colector NRDOT
Seleccione su tipo de configuración según sus necesidades de monitoreo:
Parámetro de configuración
La siguiente tabla describe los parámetros de configuración clave para el receptor nrsqlserver:
| Parámetro | Descripción |
|---|---|
<YOUR_USERNAME> | Ingrese su nombre de usuario de la base de datos para la autenticación |
<YOUR_NEWRELIC_PASSWORD> | La contraseña que estableció para el usuario newrelic |
<YOUR-RDS-ENDPOINT> | Su extremo de RDS SQL Server (por ejemplo, mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com) |
port | Ingrese el número de puerto de SQL Server. El valor predeterminado es 1433. |
<YOUR_OTLP_ENDPOINT> | Ingrese el endpoint OTLP de New Relic. Para obtener más información, consulta la documentación de los endpoints OTLP de New Relic. |
<YOUR_LICENSE_KEY> | Ingresa tu clave de licencia de New Relic. |
Sugerencia
Nota: La opción max_concurrent_queries controla cuántas consultas de métricas ejecuta el receptor en paralelo contra SQL Server durante cada ciclo de recopilación.
receivers: nrsqlserver: max_concurrent_queries: 4 # default is 4 if omitted or set to 0Sugerencia
Nota: si habilita todas las métricas disponibles, aumente el valor de limit_mib (por ejemplo, 1000) para evitar que el limitador de memoria descarte datos.
Actualice el archivo de configuración del recolector
Ejecute el siguiente comando para editar la configuración del servicio:
bash$sudo nano /etc/nrdot-collector/nrdot-collector.confActualice la ruta de configuración para que apunte a su nuevo archivo mssql-config.yaml:
bash$OTELCOL_CONFIG="/etc/nrdot-collector/mssql-config.yaml"
Valide la configuración de NRDOT Collector
Valide la configuración del NRDOT Collector para asegurarse de que tenga el formato correcto y funcione correctamente.
$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yamlReiniciar el colector NRDOT
Después de actualizar su configuración, reinicie el servicio NRDOT Collector:
$sudo systemctl restart nrdot-collectorSugerencia
Siempre reinicie el servicio de recopilador NRDOT después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.
Próximos pasos
Después de configurar el monitoreo de Linux RDS: