Configuración de la Monitorización de base de datos para Azure Database para MySQL
Documentos >
Database Monitoring >
Configuración de MySQL >
Configuración de la Monitorización de base de datos para Azure Database para MySQL
La Monitorización de base de datos proporciona una amplia visibilidad de tus bases de datos MySQL mediante la exposición de métricas de consultas, ejemplos de consultas, planes de explicación, datos de conexión, métricas de sistemas y telemetría para el motor de almacenamiento InnoDB.
El Agent recopila telemetría directamente de la base de datos iniciando sesión como usuario de sólo lectura. Realiza los siguientes pasos para habilitar la monitorización de base de datos con tu base de datos de MySQL:
MySQL en máquinas virtuales de Azure, Single Server, Flexible Server (la Actividad de consulta y Recopilación de eventos de espera no son compatibles con Flexible Server).
Versiones compatibles del Agent
7.36.1+
Impacto del rendimiento
el valor predeterminado de configuración del Agent para la Monitorización de base de datos es conservador, pero puedes ajustar parámetros como el intervalo de recopilación y la frecuencia de muestreo de consultas para que se adapten mejor a tus necesidades. Para la mayoría de las cargas de trabajo, el Agent representa menos del uno por ciento del tiempo de ejecución de consultas en la base de datos y menos del uno por ciento de la CPU.
La Monitorización de base de datos se ejecuta como integración sobre el Agent base (ver valores de referencia).
Proxies, equilibradores de carga y agrupadores de conexiones
el Datadog Agent debe conectarse directamente al host que está siendo monitorizado, preferiblemente a través del endpoint de la instancia. El Agent no debe conectarse a la base de datos a través de un proxy, equilibrador de carga o agrupador de conexiones. Si el Agent se conecta a diferentes hosts mientras se está ejecutando (como en el caso de la conmutación por error, equilibrio de carga, etc.), el Agent calcula la diferencia en las estadísticas entre dos hosts, produciendo métricas inexactas.
Consideraciones sobre la seguridad de los datos
para saber qué datos recopila el Agent de tus bases de datos y cómo garantizar su seguridad, consulta Información confidencial.
Configuración de parámetros de MySQL
Configura los siguientes parámetros del servidor y, a continuación, reinicia el servidor para que los ajustes surtan efecto:
El Agent también requiere que los consumidores de performance_schema.events_statements_* se establezcan en ON para recopilar las consultas que se están ejecutando actualmente. De forma predeterminada, Azure MySQL Database habilita los consumidores de esquemas de rendimiento, por lo que no se requiere una configuración adicional.
Conceder acceso al Agent
El Datadog Agent requiere acceso de solo lectura a la base de datos para poder recopilar estadísticas y realizar consultas.
Crea el usuario datadog y concédele permisos básicos:
Además, crea este procedimiento en cada esquema del que desees recopilar planes de explicación. Sustituye <YOUR_SCHEMA> por el esquema de tu base de datos:
A partir del Agent v7.65, el Datadog Agent puede recopilar información de esquemas de bases de datos MySQL. Consulta la sección Recopilación de esquemas a continuación para obtener más información sobre cómo conceder al Agent permisos para esta recopilación.
Guardar tu contraseña de forma segura
Store your password using secret management software such as Vault. You can then reference this password as ENC[<SECRET_NAME>] in your Agent configuration files: for example, ENC[datadog_user_database_password]. See Secrets Management for more information.
The examples on this page use datadog_user_database_password to refer to the name of the secret where your password is stored. It is possible to reference your password in plain text, but this is not recommended.
Instala y configura el Agent
Para monitorizar hosts de Azure, instala el Datadog Agent en tu infraestructura y configúralo para conectarse a cada endpoint de instancia de forma remota. El Agent no necesita ejecutarse en la base de datos, solo necesita conectarse a ella. Para conocer otros métodos de instalación del Agent no mencionados aquí, consulta las Instrucciones de instalación del Agent.
Para configurar este check para un Agent que se ejecuta en un host, por ejemplo, cuando se aprovisiona una pequeña máquina virtual para que el Agent recopile de la base de datos:
Edita el archivo mysql.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración del Agent, para empezar a recopilar tus métricas de MySQL. Para conocer todas las opciones de configuración disponibles, consulta el mysql.d/conf.yaml de ejemplo.
Añade este bloque de configuración a tu mysql.d/conf.yaml para recopilar métricas de MySQL:
init_config:instances:- dbm:truehost:'<AZURE_INSTANCE_ENDPOINT>'port:3306username:datadogpassword:'ENC[datadog_user_database_password]'# from the CREATE USER step earlier, stored as a secret# After adding your project and instance, configure the Datadog Azure integration to pull additional cloud data such as CPU and Memory.azure:deployment_type:'<DEPLOYMENT_TYPE>'fully_qualified_domain_name:'<AZURE_INSTANCE_ENDPOINT>'
Nota: Escribe tu contraseña entre comillas simples en caso de que haya un carácter especial.
Reinicia el Agent para empezar a enviar métricas de MySQL a Datadog.
Para configurar el Agent de la Monitorización de base de datos que se ejecuta en un contenedor de Docker, puedes establecer las plantillas de integración de Autodiscovery como etiquetas (label) de Docker en tu contenedor del Agent.
Nota: El Agent debe tener permiso de lectura en el socket Docker para que las etiquetas de Autodiscovery funcionen.
Línea de comandos
Ejecuta el siguiente comando para ejecutar el Agent desde tu línea de comandos. Sustituye los valores para que coincidan con tu cuenta y tu entorno:
Las etiquetas también pueden especificarse en un Dockerfile, por lo que puedes crear y desplegar un Agent personalizado sin cambiar la configuración de tu infraestructura:
Si tienes un clúster Kubernetes, utiliza el Datadog Cluster Agent para la monitorización de bases de datos.
Sigue las instrucciones para habilitar checks de clúster, si no están habilitados en tu clúster Kubernetes. Puedes declarar la configuración de MySQL mediante archivos estáticos integrados en el contenedor del Cluster Agent o utilizando anotaciones de servicios:
For Windows, append --set targetSystem=windows to the helm install command.
Configuración con archivos integrados
Para configurar un check de clúster con un archivo de configuración integrado, integra el archivo de configuración del contenedor del Cluster Agent en la ruta /conf.d/mysql.yaml:
cluster_check:true# Make sure to include this flaginit_config:instances:- dbm:truehost:<INSTANCE_ENDPOINT>port:<PORT>username:datadogpassword:'ENC[datadog_user_database_password]'azure:fully_qualified_domain_name:<INSTANCE_ENDPOINT>
Configuración con anotaciones de servicios de Kubernetes
En lugar de montar un archivo, puedes declarar la configuración de la instancia como servicio Kubernetes. Para configurar este check para un Agent que se ejecuta en Kubernetes, crea un servicio con la siguiente sintaxis:
El Cluster Agent registra automáticamente esta configuración y comienza a ejecutar el check de SQL Server.
Para evitar exponer la contraseña del usuario de datadog en texto plano, utilice el paquete de gestión de secretos de Agent y declare la contraseña utilizando la sintaxis de ENC[].
It is common to configure a single Agent host to connect to multiple remote database instances (see Agent installation architectures for DBM). To connect to multiple hosts, create an entry for each host in the MySQL integration config.
Datadog recommends using one Agent to monitor no more than 30 database instances.
Benchmarks show that one Agent running on a t4g.medium EC2 instance (2 CPUs and 4GB of RAM) can successfully monitor 30 RDS db.t3.medium instances (2 CPUs and 4GB of RAM).
Note: For Agent v7.68 and below, use schemas_collection instead of collect_schemas.
Note: To collect schemas for a table, MySQL requires that the Datadog Agent has SELECT access for it. This is a MySQL-enforced restriction. Without SELECT access, the table will not appear in metadata queries.
The Agent does not use SELECT to access or read your table data. This permission is needed solely to retrieve schema details, due to how MySQL handles metadata visibility.
To grant SELECT permissions to a Datadog user, use one or a combination of the following commands:
If the Agent must connect through a proxy such as the Cloud SQL Auth proxy, all telemetry is tagged with the hostname of the proxy rather than the database instance. Use the reported_hostname option to set a custom override of the hostname detected by the Agent.