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 la siguiente configuración para habilitar la Monitorización de base de datos con tu base de datos MySQL:
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 de la dirección IP que brinda la consola de Google Cloud. 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.
Obligatorio para la recopilación de consultas más grandes. Aumenta el tamaño del texto de síntesis de SQL en las tablas de events_statements_*. Si se deja el valor predeterminado, las consultas con más de 1024 caracteres no se recopilarán.
Obligatorio para la recopilación de consultas más grandes. Aumenta el tamaño del texto de síntesis de SQL en las tablas de events_statements_*. Si se deja el valor predeterminado, las consultas con más de 1024 caracteres no se recopilarán.
El Datadog Agent requiere acceso de sólo lectura a la base de datos para poder recopilar estadísticas y realizar consultas.
Las siguientes instrucciones conceden permiso al Agent para iniciar sesión desde cualquier host que use datadog@'%'. Puedes restringir al usuario datadog para que solo pueda iniciar sesión desde el host local mediante datadog@'localhost'. Para obtener más información, consulta la documentación de MySQL.
Además, crea este procedimiento en cada esquema del que quieras recopilar planes de explicación. Sustituye <YOUR_SCHEMA> por el esquema de tu base de datos:
Datadog recomienda crear el siguiente procedimiento para que el Agent pueda habilitar los consumidores de performance_schema.events_* en tiempo de ejecución.
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.
Comprueba que el usuario se ha creado correctamente con los siguientes comandos, sustituyendo <UNIQUEPASSWORD> por la contraseña que creaste anteriormente:
mysql -u datadog --password=<UNIQUEPASSWORD> -e "show status"|\
grep Uptime &&echo -e "\033[0;32mMySQL user - OK\033[0m"||\
echo -e "\033[0;31mCannot connect to MySQL\033[0m"
mysql -u datadog --password=<UNIQUEPASSWORD> -e "show slave status"&&\
echo -e "\033[0;32mMySQL grant - OK\033[0m"||\
echo -e "\033[0;31mMissing REPLICATION CLIENT grant\033[0m"
Para monitorizar hosts de Cloud SQL, 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 instancia GCE para que el Agent recopile de la base de datos de Google Cloud SQL:
Añade este bloque de configuración a tu mysql.d/conf.yaml para recopilar métricas de MySQL:
init_config:instances:- dbm:truehost:'<INSTANCE_ADDRESS>'port:3306username:datadogpassword:'ENC[datadog_user_database_password]'# del paso anterior CREAR USUARIO, almacenado como secreto# Después de añadir tu proyecto e instancia, configura la integración de Datadog con Google Cloud (GCP) para extraer datos de nube adicionales, como CPU y memoria, entre otros.gcp:project_id:'<PROJECT_ID>'instance_id:'<INSTANCE_ID>'
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, como en Google Cloud Run, define las plantillas de integración Autodiscovery como etiquetas (labels) 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.
Ponte en marcha rápidamente con 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:
Realiza los siguientes pasos para instalar el Datadog Cluster Agent en tu clúster Kubernetes. Sustituye los valores para que coincidan con tu cuenta y tu entorno.
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# Asegúrate de incluir esta marcainit_config:instances:- dbm:truehost:'<INSTANCE_ADDRESS>'port:3306username:datadogpassword:'ENC[datadog_user_database_password]'# Después de añadir tu proyecto e instancia, configura la integración de Datadog con Google Cloud (GCP) para extraer datos de nube adicionales, como CPU y memoria, entre otros.gcp:project_id:'<PROJECT_ID>'instance_id:'<INSTANCE_ID>'
En lugar de integrar un archivo, puedes declarar la configuración de la instancia como servicio de Kubernetes. Para configurar este check en un Agent que se ejecuta en Kubernetes, crea un servicio en el mismo espacio de nombres que el Datadog Cluster Agent:
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.
In these cases, Datadog recommends limiting the number of instances per Agent to a maximum of 10 database instances to guarantee reliable performance.
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.