Puede instalar y configurar el monitoreo de MySQL en Kubernetes usando el chart de Helm mysql-otel. Opcionalmente, el chart también puede ejecutar un trabajo de configuración que crea el usuario de monitoreo.
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.
Importante
El chart despliega el recolector como un despliegue de Kubernetes que se conecta a MySQL de forma remota a través de la red. Como resultado, siempre se conecta a través de TCP (el monitoreo de sockets de Unix no es compatible) y solo reporta métricas de MySQL (no hay métricas de host o infraestructura para la máquina en la que se ejecuta MySQL). Al usar mysql.*, monitorea una instancia de MySQL por release; para monitorear varias instancias desde un solo release, use mysqlMulti.* en su lugar (consulte Monitorear múltiples instancias desde un release a continuación).
Requisitos previos
Una clave de licencia de New Relic válida.
MySQL 5.7 o posterior.
Helm 3.0 o posterior, y
kubectlconfigurado para acceder al clúster de Kubernetes.Conectividad de red desde el clúster de Kubernetes al host de MySQL (o extremo de RDS) y puerto:
- Autohospedado: una ruta enrutada al host de MySQL (VPN, peering o red compartida), resolución de DNS si es un nombre de host y el firewall del lado de MySQL debe permitir la IP de origen real de la conexión (que puede ser una puerta de enlace NAT, no la IP del pod en sí).
- AWS RDS: emparejamiento de VPC, una puerta de enlace de tránsito o ubicación de VPC compartida con la instancia de RDS, y el grupo de seguridad de RDS debe permitir el puerto de MySQL (
3306por defecto) desde el origen de salida del clúster.
Ya sea un usuario de monitoreo que ya haya creado o credenciales de administrador de MySQL para que el trabajo de configuración del chart pueda crear uno. Consulte Configurar las credenciales de monitoreo a continuación.
Cree el namespace
Cree el namespace en el que realizará la instalación. Debe existir antes de crear cualquier secreto en el siguiente paso, ya que helm install --create-namespace solo crea el namespace durante el paso de instalación final:
$kubectl create namespace newrelicSugerencia
Establézcalo como el namespace predeterminado para el contexto kubectl actual para que no necesite pasar -n en cada comando a continuación:
$kubectl config set-context --current --namespace=newrelicConfigurar las credenciales de monitoreo
Decida si desea que el trabajo de configuración del chart cree el usuario de monitoreo de MySQL por usted y, de no ser así, cómo proporcionará sus credenciales:
Configurar los valores de Helm
Establezca mysql.topology para que coincida con su entorno:
Valor | Descripción |
|---|---|
| MySQL autohospedado, al que se accede a través de la red. |
| MySQL o Aurora en AWS RDS. |
Utilice el values.yaml que coincida con el método de credenciales que eligió en el paso anterior:
Parámetro | Descripción |
|---|---|
| Su clave de licencia de New Relic. |
| El extremo OTLP/gRPC de la región, como un
simple sin esquema :
(EE. UU.) o
(UE). Para obtener más información, consulte la documentación de los extremos OTLP de New Relic . |
/
| El host de MySQL (o extremo de RDS) y el puerto, accesibles desde el clúster. |
| Opcional. Restrinja el monitoreo a una base de datos. Deje vacío para monitorear todas las bases de datos. |
| Opcional. El chart no declara un bloque
y no tiene valores
. Se aplican los valores predeterminados del propio receptor (
,
), que requieren una conexión cifrada con validación de certificados. Sobrescríbalos mediante
: configure
para omitir la validación de certificados (solo para pruebas con certificados autofirmados, ya que debilita la seguridad de la conexión), o
para apuntar a un paquete de CA montado en el contenedor del recolector. Una instancia de Amazon RDS con la aplicación de Require SSL/TLS necesita que . El chart deliberadamente no incluye ningún paquete predeterminado, ya que un paquete codificado de forma rígida corre el riesgo de quedar obsoleto a medida que Amazon rota las CA. |
/
| La imagen de la CLI de
que usa el trabajo de configuración. De forma predeterminada, se usa la
oficial y con mantenimiento activo, por lo que habilitar el trabajo de configuración no requiere indicadores de imagen adicionales. Sobrescriba solo si necesita una versión diferente. |
| Opcional. También otorga
en
, lo cual es necesario para los datos de tiempo de espera. |
Sugerencia
Consulte el values.yaml del chart para ver todas las opciones de configuración disponibles, incluidas mysql.collectionInterval, mysql.explainMode, los bloques statementEvents/querySampleCollection/topQueryCollection y la vía de escape additionalReceiverConfig.
(Opcional) Monitorear múltiples instancias desde un release
En lugar de mysql.*, configure mysqlMulti.enabled: true para monitorear varias instancias de MySQL (autohospedadas o RDS) desde un solo pod recolector en un lanzamiento. Los dos modos son mutuamente excluyentes: no configure mysql.server y mysqlMulti.enabled: true en el mismo lanzamiento.
El modo multiinstancia no tiene una ruta de nombre de usuario/contraseña en texto plano: cada instancia necesita su propio secreto de Kubernetes con credenciales de monitoreo. Decida si también desea que el trabajo de configuración cree cada usuario de monitoreo:
Parámetro | Descripción |
|---|---|
| Establezca en
para monitorear varias instancias desde un lanzamiento en lugar de
. Por defecto es
. |
|
o
, mismo significado que
, compartido por cada instancia en esta versión. |
| Lista de instancias para monitorear. Cada entrada requiere un único
,
(
por defecto es
) y
;
restringe opcionalmente el monitoreo a una base de datos (mismo significado que
); agregue
por entrada solo cuando
sea
. |
Sugerencia
La configuración de extracción (intervalo de recopilación, TLS, eventos de sentencia, recopilación de muestras de consultas, recopilación de consultas principales) se aplica de manera idéntica a cada instancia en mysqlMulti.databases. No hay sobrescritura por instancia. Use additionalReceiverConfig para cualquier cosa que deba ser diferente. El trabajo de configuración se ejecuta una vez por instancia (<release>-setup-<name>) en lugar de una vez por versión.
Instale el chart de Helm
Agregue el repositorio Helm de New Relic:
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo updateInstale el chart utilizando su archivo
values.yaml:bash$helm upgrade --install mysql-otel newrelic/mysql-otel \>-n newrelic \>--create-namespace \>-f values.yaml
Verifique la instalación
Compruebe que el trabajo de configuración se haya completado (si está habilitado) y que el pod del recolector se esté ejecutando:
bash$kubectl get jobs,pods -n newrelic --watchEjecute esta consulta en el generador de consultas para confirmar que los datos están llegando:
SELECT count(*) FROM MetricWHERE metricName LIKE 'mysql.%'AND instrumentation.provider = 'opentelemetry'SINCE 10 minutes ago
Encuentra y utiliza tus datos
Una vez que sus datos se estén recopilando, puede acceder al monitoreo integral de bases de datos MySQL a través de la UI de New Relic.
Para encontrar su entidad de base de datos MySQL en New Relic:
- Vaya a 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 MySQL de la lista de entidades.
Documentación relacionada
Introducción al monitoreo de MySQL con NRDOT
Conozca todos los métodos de instalación disponibles para el monitoreo de MySQL con New Relic.
Instalación de la CLI
Aprenda a instalar y configurar el monitoreo de MySQL con un solo comando de la CLI de New Relic.
Instalación con Ansible
Aprenda a instalar y configurar el monitoreo de MySQL a escala con newrelic.newrelic_install rol de Ansible.
Instalación con Chef
Aprenda a instalar y configurar el monitoreo de MySQL a escala con el cookbook de Chef newrelic-install.