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 autohospedados de Linux, incluidos servidores físicos, máquinas virtuales y despliegues de Linux en contenedores.
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 distribución de Linux:
Importante
Se recomienda instalar el NRDOT Collector en el mismo host que su instancia de SQL Server para ver métricas a nivel de infraestructura para el monitoreo del rendimiento de consultas.
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
Ejecute el siguiente script como root user/sysadmin para crear el usuario de monitoreo de newrelic y otorgar permisos globales de lectura.
Para crear un usuario de monitoreo de
newrelicen Linux, cree un archivo llamadonr-grant-permission.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;GOPara ejecutar el script, ejecute el siguiente comando. Reemplace
<Your_SA_Password>con su contraseña de administrador de SQL Server:bash$sqlcmd -S localhost -U sa -P '<Your_SA_Password>' -C -i nr-grant-permission.sql(Opcional) Para verificar que el usuario se creó correctamente y tiene los permisos correctos, ejecute el siguiente comando. Reemplace
<Your_SA_Password>con su contraseña de administrador de 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';"Salida esperada:
User Permission_Granted-------------------------------------------------------------------------------------<your_username> CONNECT SQL<your_username> VIEW ANY DEFINITION<your_username> VIEW ANY DATABASE<your_username> VIEW SERVER STATEEsta salida confirma que su usuario se ha creado correctamente con los permisos de nivel de servidor requeridos.
Configurar el Colector NRDOT
Seleccione su tipo de configuración según sus necesidades de monitoreo:
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 0Pará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_PASSWORD> | Ingrese su contraseña de la base de datos para la autenticación |
<YOUR_SERVER> | Ingrese el nombre de host o la dirección IP de SQL Server |
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. |
collection_interval | Intervalo en segundos para recopilar métricas de base de datos. Predeterminado: 15s |
Sugerencia
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"Validar la configuración del NRDOT Collector
Valide la configuración del NRDOT Collector para asegurarse de que tenga el formato correcto y funcione correctamente:
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mssql-config.yaml
Reiniciar 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 autohospedado de Linux: