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_currentse 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:
bash$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:bash$sudo nano /etc/nrdot-collector/mysql-config.yamlAgregue la siguiente configuración al archivo
mysql-config.yamlque creó en el paso anterior.receivers:nrmysql:endpoint: "<YOUR_DB_HOST>:<YOUR_DB_PORT>"transport: tcpusername: "<YOUR_DB_USERNAME>"password: "<YOUR_DB_PASSWORD>"allow_native_passwords: truecollection_interval: 15sinitial_delay: 1sexplain_mode: procedurestatement_events:digest_text_limit: 4096time_limit: 24hlimit: 500query_sample_collection:max_rows_per_query: 100allowed_comment_keys: [nr_service_guid]top_query_collection:lookback_time: 60max_query_sample_count: 5000top_query_count: 200collection_interval: 60squery_plan_cache_size: 1000query_plan_cache_ttl: 1hallowed_comment_keys: [nr_service_guid]events:db.server.query_sample:enabled: truedb.server.top_query:enabled: truedb.server.query_plan:enabled: trueresource_attributes:db.system.version:enabled: truemetrics:mysql.query.count:enabled: truemysql.query.slow.count:enabled: truemysql.commands:enabled: truemysql.innodb.data_file.io:enabled: trueprocessors:batch:exporters:otlp/newrelic:endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>"headers:api-key: "<YOUR_NEWRELIC_LICENSE_KEY>"compression: gzipretry_on_failure:enabled: trueinitial_interval: 5smax_interval: 30smax_elapsed_time: 300sservice: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
databaseytls. 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 bloquetlsy la configuración deca_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. transportEl valor predeterminado está establecido en tcppara conectarse a través de la red.collection_intervalIngrese el intervalo entre los raspados de métricas. Predeterminado: 15s.explain_modeEl valor predeterminado está establecido en inline. Establezca el valor enprocedurepara 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:bash$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.confValide 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/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:
bash$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:
bash$sudo systemctl status nrdot-collector
Encuentra 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.