Configure el monitoreo de MySQL usando el NRDOT Collector para instancias de AWS RDS MySQL. Los entornos RDS tienen consideraciones específicas para los consumidores y privilegios de Performance Schema.
Instalación guiada
Para instalar a través de la UI de New Relic en su lugar, vaya a one.newrelic.com > Integrations & Agents > MySQL (Database 360) . Esta página solo cubre la instalación manual.
Requisitos previos
Antes de instalar, asegúrese de tener:
Una clave de licencia de New Relic.
Conectividad de red entre el host donde instala el NRDOT Collector y su instancia MySQL RDS.
Conectividad de red a la documentación de los extremos OTLP de New Relic
Credenciales del usuario maestro de RDS.
Para conocer las versiones de MySQL compatibles, los permisos requeridos y los requisitos de
performance_schema, consulte Compatibilidad y requisitos previos.
Configurar NRDOT Collector
Instale el NRDOT Collector en un sistema que pueda conectarse a su instancia de RDS:
Configurar el usuario de la base de datos
Cree un usuario de monitoreo con los privilegios necesarios para su instancia de MySQL RDS.
- Para crear un usuario de monitoreo, conéctese a su instancia de RDS como el usuario maestro y ejecute:
CREATE USER '<YOUR_DB_USERNAME>'@'%' IDENTIFIED BY '<YOUR_DB_PASSWORD>';- Para recopilar muestras de consultas y las consultas principales, otorgue los siguientes privilegios al usuario de monitoreo:
GRANT SELECT ON performance_schema.* TO '<YOUR_DB_USERNAME>'@'%'; GRANT SELECT ON *.* TO '<YOUR_DB_USERNAME>'@'%'; GRANT REPLICATION CLIENT ON *.* TO '<YOUR_DB_USERNAME>'@'%'; GRANT PROCESS ON *.* TO '<YOUR_DB_USERNAME>'@'%';- (Opcional) Para ver los datos de tiempo de espera en la plataforma New Relic, otorgue los siguientes privilegios al usuario de monitoreo:
GRANT UPDATE ON performance_schema.setup_consumers TO '<YOUR_DB_USERNAME>'@'%';Sugerencia
Esta configuración no persiste en RDS; el consumidor events_waits_current se restablece en cada reinicio o conmutación por error. Otorgar este privilegio permite que el recolector lo vuelva a habilitar automáticamente al reconectarse; de lo contrario, deberá volver a ejecutar la instrucción de habilitación después de cada reinicio.
- (Opcional) Para verificar la conexión y los permisos, ejecute:
$mysql -h <YOUR_DB_HOST> -P <YOUR_DB_PORT> -u <YOUR_DB_USERNAME> -p -e "SELECT 1;"Si el comando se completa sin errores, el usuario de monitoreo, el host y el puerto son correctos.
Configurar el Colector NRDOT
Configure el NRDOT Collector con la configuración específica de MySQL.
Esta configuración se centra en el monitoreo esencial de MySQL únicamente con el receptor nrmysql.
configuración completa
Esta configuración de línea de base captura métricas esenciales. Para ver el catálogo completo de métricas, consulte la referencia de configuración.
- Cree un archivo de configuración llamado
mysql-config.yaml:
$sudo nano /etc/nrdot-collector/mysql-config.yaml- Agregue la siguiente configuración al archivo
mysql-config.yamlque creó en el paso anterior.
receivers: nrmysql: endpoint: "<YOUR_DB_HOST>:<YOUR_DB_PORT>" transport: tcp username: "<YOUR_DB_USERNAME>" password: "<YOUR_DB_PASSWORD>" allow_native_passwords: true collection_interval: 15s initial_delay: 1s explain_mode: procedure statement_events: digest_text_limit: 4096 time_limit: 24h limit: 500 query_sample_collection: max_rows_per_query: 100 allowed_comment_keys: [nr_service_guid] top_query_collection: lookback_time: 60 max_query_sample_count: 5000 top_query_count: 200 collection_interval: 60s query_plan_cache_size: 1000 query_plan_cache_ttl: 1h allowed_comment_keys: [nr_service_guid] events: db.server.query_sample: enabled: true db.server.top_query: enabled: true db.server.query_plan: enabled: true resource_attributes: db.system.version: enabled: true metrics: mysql.query.count: enabled: true mysql.query.slow.count: enabled: true mysql.commands: enabled: true mysql.innodb.data_file.io: enabled: true
processors: batch:
exporters: otlp/newrelic: endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>" headers: api-key: "<YOUR_NEWRELIC_LICENSE_KEY>" compression: gzip retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 300s
service: pipelines: metrics: receivers: [nrmysql] processors: [batch] exporters: [otlp/newrelic] logs: receivers: [nrmysql] processors: [batch] exporters: [otlp/newrelic]Sugerencia
Esta configuración omite los campos opcionales database y tls. De forma predeterminada, el receptor monitorea cada base de datos a la que puede acceder el usuario de monitoreo y se conecta sin TLS. La mayoría de las instancias de Amazon RDS/Aurora exigen SSL/TLS, por lo que es probable que deba habilitarlo. Consulte Habilitar información valiosa detallada para el bloque tls y la configuración de ca_file.
Parámetro de configuración
La siguiente tabla describe los parámetros de configuración clave para el receptor nrmysql:
| Parámetro | Descripción |
|---|---|
<YOUR_DB_HOST> | Su extremo de RDS MySQL. Por ejemplo, mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com |
<YOUR_DB_PORT> | Ingrese el número de puerto de MySQL. El valor predeterminado es 3306. |
<YOUR_DB_USERNAME> | Ingrese el nombre de usuario del usuario de monitoreo que creó en Configurar usuario de base de datos. |
<YOUR_DB_PASSWORD> | Ingrese la contraseña del usuario de monitoreo que creó en Configurar usuario de base de datos. |
<YOUR_NEWRELIC_OTLP_ENDPOINT> | Ingrese el extremo OTLP de New Relic. Para obtener más información, consulte Extremos OTLP de New Relic. |
<YOUR_NEWRELIC_LICENSE_KEY> | Ingrese su clave de licencia de New Relic. |
transport | El valor predeterminado está establecido en tcp para conectarse a través de la red. |
collection_interval | Ingrese el intervalo entre los raspados de métricas. Predeterminado: 15s. |
explain_mode | El valor predeterminado está establecido en inline. Establezca el valor en procedure para recopilar planes de consulta para sentencias de escritura sin otorgar privilegios DML al usuario de monitoreo. Consulte Planes de consulta para sentencias de escritura. |
Valide la configuración de NRDOT Collector
- Actualice la ruta de configuración para que apunte a su nuevo archivo
mysql-config.yaml:
$sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/mysql-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf- 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/mysql-config.yamlSugerencia
Tú también puedes:
Configure múltiples receptores: para monitorear múltiples instancias de MySQL desde un recolector. Vincule su base de datos MySQL con APM: para correlacionar el rendimiento de la aplicación con las operaciones de la base de datos. Esto le permite ver exactamente qué aplicaciones están generando cargas de trabajo de base de datos específicas. Configurar la gestión de secretos: para administrar de forma segura información confidencial, como las credenciales de bases de datos. Esto ayuda a mejorar la seguridad de su configuración de monitoreo al evitar la codificación rígida de datos sensibles en los archivos de configuración.
Reiniciar NRDOT Collector
- Después de actualizar su configuración, reinicie el servicio NRDOT Collector:
$sudo systemctl restart nrdot-collectorSugerencia
Siempre reinicie el servicio NRDOT Collector después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.
- Para verificar que el recolector se esté ejecutando correctamente, verifique el estado del servicio:
$sudo systemctl status nrdot-collectorEncuentra y utiliza tus datos
Una vez que sus datos se estén recopilando, puede acceder al monitoreo integral de bases de datos RDS MySQL a través de la UI de New Relic.
Para encontrar su entidad de base de datos RDS MySQL en New Relic:
- Vaya a https://one.newrelic.com > All Capabilities > Databases.
- En el menú desplegable Entity type, seleccione MySQL instance y luego haga clic en Apply.
- Seleccione su base de datos RDS MySQL de la lista de entidades.
Limitaciones de Amazon RDS
El consumidor del esquema de rendimiento events_waits_current es necesario para mysql.events_waits_current.timer_wait y los dashboards basados en esperas. La familia de grupos de parámetros de RDS mysql8.0 no expone los parámetros performance_schema_consumer_*, lo que impide la configuración persistente. Este consumidor debe habilitarse en tiempo de ejecución, ya que la configuración se restablece después de cada reinicio de la base de datos o conmutación por error.
Documentación relacionada
Instrumentación en entornos autohospedados
Aprenda a configurar el monitoreo de MySQL en entornos autohospedados con New Relic.
Referencia de métricas
Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.
Guía de solución de problemas
Aprenda a solucionar problemas comunes con el monitoreo de MySQL.