Monitoriza tus certificados HTTPS con Zabbix
junio 19, 2019Los dashboards son para el verano
agosto 13, 2019Monitorización de bases de datos con PMM
Hoy en día la información es un asunto de vital importancia para la supervivencia de una empresa, ya no solo la información privada de nuestros clientes y su tratamiento, sino también la información que guardamos sobre nuestros procesos de trabajo y/o tareas, nuestras aplicaciones de gestión de pedidos y ventas o nuestros CRM. En la mayor parte de todos estos casos existe un elemento común que actúa como corazón: Nuestra base de datos.
En muchas ocasiones, las bases de datos son las grandes olvidadas ya que puede resultar un elemento relativamente tedioso y su correcta gestión y mantenimiento requieren de conocimientos específicos. Sin embargo, siguiendo con el símil del corazón, la aparición de problemas de rendimiento o latencia pueden tener consecuencias muy graves y en ocasiones irreversibles.
En muchas ocasiones, las bases de datos son las grandes olvidadas ya que puede resultar un elemento relativamente tedioso y su correcta gestión y mantenimiento requieren de conocimientos específicos. Sin embargo, siguiendo con el símil del corazón, la aparición de problemas de rendimiento o latencia pueden tener consecuencias muy graves y en ocasiones irreversibles.
Citemos un breve ejemplo. Hace tiempo, el gigante Google decidió que su buscador pasase de devolver 10 resultados a 30, lo que supuso que el tiempo de realizar una búsqueda pasase de 0,15 segundos a casi 0,5. El impacto de esta decisión fue la pérdida de millones de usuarios por motivos de lentitud, uno de los principales criterios que los usuarios tienen a la hora de navegar por internet.
Ya no pensando en una compañía tan grande como Google sino en la mayoría de nuestras pymes, ¿qué impacto tendría que nuestra base de datos tardase más de 1 segundo en mostrar nuestro catálogo? Lo resumimos, catástrofe. En ese segundo los usuarios ya están cotejando ofertas de nuestros competidores u otras opciones ajenas a nosotros. Lo más grave de todo esto es ¿nos habríamos dado cuenta?, posiblemente no.
Y ahora, ya saliendo del mundo de internet y entrando en el mundo de nuestras aplicaciones de gestión interna, ¿qué ocurriría si el disco duro, log o tablespace de la base de datos se llenase? Repetimos, catástrofe. Los sistemas que estén conectados a ella pararían o caerían, recibiríamos incidencias y llamadas de clientes pidiendo explicaciones a los pocos minutos y podríamos tardar horas en solucionar algo que podría haberse evitado.
Concluyendo la analogía, al igual que los médicos, la única forma de prevenir estos males es manteniendo el corazón en forma.
Ya no pensando en una compañía tan grande como Google sino en la mayoría de nuestras pymes, ¿qué impacto tendría que nuestra base de datos tardase más de 1 segundo en mostrar nuestro catálogo? Lo resumimos, catástrofe. En ese segundo los usuarios ya están cotejando ofertas de nuestros competidores u otras opciones ajenas a nosotros. Lo más grave de todo esto es ¿nos habríamos dado cuenta?, posiblemente no.
Y ahora, ya saliendo del mundo de internet y entrando en el mundo de nuestras aplicaciones de gestión interna, ¿qué ocurriría si el disco duro, log o tablespace de la base de datos se llenase? Repetimos, catástrofe. Los sistemas que estén conectados a ella pararían o caerían, recibiríamos incidencias y llamadas de clientes pidiendo explicaciones a los pocos minutos y podríamos tardar horas en solucionar algo que podría haberse evitado.
Concluyendo la analogía, al igual que los médicos, la única forma de prevenir estos males es manteniendo el corazón en forma.
Percona Monitoring & Management
Existen diversos productos destinados a la monitorización de bases de datos, uno de ellos es “Percona Monitoring & Managment” o PMM.Este producto nos ofrece una visión muy completa de todo lo que ocurre, permitiéndonos seleccionar el intervalo de tiempo que deseamos estudiar y seleccionar individualmente la base de datos que queremos ver, mejorando así la experiencia del usuario.
El conjunto de gráficas y elementos a seleccionar nos otorga una gran facilidad a la hora de configurar dashboard a nuestro gusto y cubrir muchas, sino todas, nuestras necesidades.
Es compatible con diferentes tipos de bases de datos: MySQL, MongoDB, PostgreSQL. También posee opciones para monitorizar nuestras bases de datos en la nube.
Es compatible con diferentes tipos de bases de datos: MySQL, MongoDB, PostgreSQL. También posee opciones para monitorizar nuestras bases de datos en la nube.
Todas las imagenes que estamos mostrando salen de la demo Online que PMM tiene disponible y que nos permite probar su aplicación.
Arquitectura y detalle de PMM
La solución de percona se basa en un modelo de tipo cliente-servidor que facilita la escalabilidad.Como se puede observar en la imagen, tenemos un servidor PMM y un cliente PMM.
Metrics Monitor nos ofrece todas las métricas relativas al estado de nuestra base de datos: CPU, memoria consumida, número de conexiones a base de datos, estado de las tablas, usuarios, etc. Casi la totalidad de la información que necesitamos sobre la monitorización de nuestra base de datos.
- Servidor PMM: La función del servidor es recibir, solicitar y guardar la información que se obtiene los los clientes PMM. Dependiendo del tipo de información, ésta es almacenada en una base de datos MySQL o en Prometheus, que es un tipo de base datos diseñada para almacenar información basada en el tiempo (o teniendo en cuenta su cronología). La interacción con los agentes la realiza a partir de un API REST y muestra los resultados en los dashboards de Grafana.
- Agente PMM: Es necesario instalar un agente en cada máquina que tenga bases de datos a monitorizar. La aplicación que gestiona el agente es “pmm-admin”. Con ella configuramos las métricas que queremos e indicamos cuál es la IP del servidor. Según configuremos las métricas, “pmm-admin” creará demonios que correrán en background y serán los encargados de recuperar la información y enviársela al servidor.
Query Analitycs
Si nos fijamos en el lado servidor de PMM, observamos que podemos dividirlo en dos partes claramente diferenciadas: “Metrics Monitor” y “Query Analitycs”.Metrics Monitor nos ofrece todas las métricas relativas al estado de nuestra base de datos: CPU, memoria consumida, número de conexiones a base de datos, estado de las tablas, usuarios, etc. Casi la totalidad de la información que necesitamos sobre la monitorización de nuestra base de datos.
Query Analitycs, por otro lado, es un aporte de valor diferenciador. Esta funcionalidad tiene como objetivo medir el tiempo y rendimiento de las queries que se realizan en base de datos. Para no adoptar un lenguaje tan técnico, las queries son todas las solicitudes y operaciones que pedimos que haga nuestra base de datos. Desde insertar un nuevo cliente, pasando por consultar el estado de un pedido o sacar por pantalla el catálogo de nuestros servicios para enseñárselos a un cliente.
Retomando el ejemplo del catálogo de productos que un usuario puede consultar a través de internet, aquí podríamos ver las solicitudes que más carga de trabajo dan a la base de datos.
Retomando el ejemplo del catálogo de productos que un usuario puede consultar a través de internet, aquí podríamos ver las solicitudes que más carga de trabajo dan a la base de datos.
Esta funcionalidad no solo nos permite detectar problemas en el funcionamiento, si no que nos da información proactiva de lo que puede llegar a suceder si lo que nos muestra llegase a los equipos de producción con los que interactúan nuestros clientes o los operarios de nuestra empresa.
En la imagen anterior observamos que el segundo tipo de solicitud tiene una carga del 22,73% del trabajo y es la que tiene la latencia más elevada de todas con 24,73 milisegundos de media.
Si seleccionamos la operación, Query Analitycs nos permite conocerla con mayor detalle.
En la imagen anterior observamos que el segundo tipo de solicitud tiene una carga del 22,73% del trabajo y es la que tiene la latencia más elevada de todas con 24,73 milisegundos de media.
Si seleccionamos la operación, Query Analitycs nos permite conocerla con mayor detalle.
De esta forma, el equipo técnico podría tomar medidas si estos tiempos se disparasen y optimizar el rendimiento de la base de datos, mejorando la usabilidad de las aplicaciones y evitándonos muchos problemas.
Si quieres más información o realizar una consulta, recuerda que en Muutech somos especialistas en sistemas de monitorización y estaremos encantados de ayudar a que tu empresa se mantenga sana y en forma.
Si quieres más información o realizar una consulta, recuerda que en Muutech somos especialistas en sistemas de monitorización y estaremos encantados de ayudar a que tu empresa se mantenga sana y en forma.
CEO & MANAGING DIRECTOR
Experto en monitorización IT, sistemas y redes.
Minerva es nuestra plataforma enterprise-grade de monitorización basada en Zabbix y Grafana.
¡Te ayudamos a monitorizar tus equipos de red, comunicaciones y sistemas!
Suscríbete a nuestra Newsletter