La observabilidad de la base de datos es una medida de la exactitud con la que puedes inferir el estado interno de un sistema de base de datos en función de los datos, o telemetría, que genera en registros, métricas y seguimientos.
El diagnóstico y la solución de problemas de una aplicación pueden ser especialmente difíciles y lentos cuando se involucra una base de datos. La recopilación de telemetría es de vital importancia. La telemetría, cuando se enriquece con el contexto de la aplicación, puede hacer que las instancias de la base de datos sean más comprensibles, observables y fáciles de mantener. Puedes identificar problemas y tendencias problemáticas con facilidad y solucionarlos con anticipación, sin tener que incurrir en tiempo de inactividad costoso. Además, con esos datos, puedes configurar instancias de bases de datos más nuevas para que recopilen el tipo de datos correcto desde el momento en que se inician.
Puedes usar los datos de manera eficaz y proactiva para evitar problemas y enfocarte en la innovación estratégica. La buena recopilación de telemetría es muy útil en el modelo de DevOps, en el que los generalistas de la base de datos deben analizar de forma independiente la telemetría para supervisar, evaluar y optimizar el rendimiento y el estado de las aplicaciones que evolucionan con rapidez.
Google Cloud ofrece varias funciones potentes que abarcan las cuatro etapas de observabilidad iterativa para ayudarte a mantener el estado de la base de datos de Cloud SQL.
Recopilación automatizada de telemetría
Para lograr los objetivos de observabilidad, comenzamos con la recopilación de telemetría, preferentemente a través de un proceso automatizado. Cuando se recopila durante un período, la telemetría ayuda a establecer un modelo de referencia para las métricas en diferentes condiciones de carga.
Los servicios de Google Cloud generan automáticamente datos de observabilidad, entre los que se incluyen métricas, registros y seguimientos, que pueden ayudar a proporcionar una descripción general completa de la observabilidad.
Cloud Monitoring recopila mediciones de tu servicio y los recursos de Google Cloud que usas. Cloud SQL usa agentes personalizados de memoria integrados para recopilar telemetría de consultas, lo que reduce el impacto en el rendimiento y elimina la necesidad de realizar mantenimiento de agentes o sobrecargar la seguridad.
Cloud Logging recopila datos de registro de componentes de aplicaciones comunes. Para Cloud SQL, consulta también Ve los registros de instancias.
Cloud Trace recopila datos de latencia y planes de consultas ejecutados de las aplicaciones para ayudarte a hacer un seguimiento de cómo se propagan las solicitudes a través de tus aplicaciones. Puedes comparar estas distribuciones de latencia con el tiempo o entre versiones. Cloud Trace te alerta cuando detecta un cambio significativo en el perfil de latencia de tu aplicación cuando está instrumentado para usar Cloud Trace.
Sqlcommenter, una biblioteca de OpenTelemetry para bases de datos, te ayuda a supervisar las bases de datos desde la perspectiva de una aplicación. Sqlcommenter instrumenta automáticamente las ORM para aumentar las instrucciones de SQL con etiquetas y permite que la información del contexto de seguimiento de OpenTelemetry se propague a la base de datos.
Con las etiquetas y el contexto de la aplicación de seguimiento en las bases de datos, es fácil correlacionar el código de la aplicación con el rendimiento de la base de datos y solucionar problemas de las arquitecturas basadas en microservicios.
Supervisión de la base de datos
La supervisión adecuada te ayuda a determinar si tu aplicación funciona de manera óptima. Implementa la supervisión temprano, antes de iniciar una migración o implementar una aplicación nueva en un entorno de producción. Distingue entre los problemas de la aplicación y los problemas subyacentes de la nube.
En la página Descripción general de Cloud SQL, se muestran gráficos de algunas de las métricas clave.
Cloud SQL también te ayuda a comparar las métricas de las instancias seleccionadas.
Puedes usar Cloud Monitoring para crear paneles personalizados que te ayuden a supervisar las métricas y configurar políticas de alertas a fin de que puedas recibir notificaciones oportunas.
Ajuste de la base de datos
Puedes solucionar problemas y ajustar tu base de datos de forma iterativa.
Los recomendadores de Cloud SQL te ayudan a analizar el uso actual de tu base de datos y proporcionan recomendaciones y estadísticas basadas en métodos heurísticos y aprendizaje automático.
Los recomendadores de Cloud SQL se describen brevemente de la siguiente manera:
Nombre | Descripción |
---|---|
Recomendador sin disco | Reduce el riesgo de tiempo de inactividad que podrían ocasionar las instancias de Cloud SQL que se quedan sin espacio en el disco. |
Recomendador de instancias inactivas | A fin de reducir los costos, cierra las instancias de Cloud SQL que estén inactivas de forma involuntaria. |
Recomendador de instancias aprovisionadas en exceso | Para reducir costos, cambia el tamaño de las instancias de Cloud SQL que sean innecesariamente grandes para una carga de trabajo determinada. |
Recomendador de instancias con aprovisionamiento insuficiente | Evita los cuellos de botella que genera el uso elevado de CPU y de memoria, y minimiza la probabilidad de tener eventos de memoria insuficiente. Para ello, cambia el tamaño de las instancias de Cloud SQL que tengan un uso elevado de CPU o memoria. |
¿Qué sigue?
- Consulta la lista de métricas de Cloud SQL.
- Obtén más información sobre Cloud Logging y Cloud Monitoring. Consulta también Ve los registros de instancias.
- Soluciona problemas y ajusta la instancia de base de datos.
- Más información sobre los recomendadores de Google Cloud.