457 - Vigilar el consumo de tus contenedores Docker
Es mas que recomendable estar al tanto de los consumos de los contenedores Docker. En mi caso, recientemente he cambiado un servicio por el consumo.
Hace algún tiempo que andaba con la mosca detrás de la oreja sobre el consumo de algunos contenedores Docker, para que te voy a engañar. Pero son de esas cosas, que siempre voy dejando para otro momento, porque, ¿que mas da?, todo parece que consume mas o menos lo mismo. Pero, nada mas lejos de la realidad. No todos los servicios consumen lo mismo, incluso aquellos servicios que parece que están destinados para lo mismo. La realidad es que no. Pero en muchas ocasiones nos conformamos, o simplemente por pereza, no lo miramos, hasta que lo miras. Así, que hace unos días me decidía ver los consumos, porque al hacer un top de la máquina, me di cuenta que la máquina estaba un poquito apretada. Así, en este episodio del podcast, te voy a hablar sobre vigilar el consumo de Docker, o en general vigilar el consumo de tus servicios.
Vigilar el consumo de tus contenedores Docker
El feedback es oro puro
Soy muy curioso. Esto me ha llevado a conocer y profundizar en temas como Linux, Docker, Ansible. Y me he quedado tan fascinado de todo esto, que he querido contarlo a los cuatro vientos, para que otros disfruten tanto como yo lo hago. Esto originó el blog, posteriormente el podcast y por último YouTube.
Mas o menos, voy contando todo lo que voy haciendo. Sin embargo, se que hay aspectos que interesan mas, y otros que interesan menos. Eso es así, cada uno tenemos nuestros gustos y nuestras preferencias. Y como a mi, dentro de todo lo que hago, me da lo mismo dar preferencias a unas cosas que a otras, lo cierto, es que quiero escuchar que es lo que a ti te gusta, o tus preferencias, para de esta manera, producir mas contenido del que tu prefieres.
La cuestión, es que como en muchas ocasiones he comentado, esto del feedback, es un problema, porque en general, somos bastante reacios a darlo, tenemos otras preferencias. Por esto, es necesario, echar manos de las analíticas web para resolver esta situación.
En su momento, y como muchos, opté por Google Analytics, pero posteriormente, y por las razones que mas adelante detallo, he preferido decantarme por otras opciones.
Sobre tus propias analíticas web.
En el episodio 364 del podcast te hablé de como tener tus propias analíticas web. Madre mía… ya casi han pasado un par de años de esto.
Hace algo mas de dos años, decidí dejar Google Analítics, para utilizar un servicio autoalojado que se encargara de ofrecerme mis propias analíticas web. Esto fue por distintas razones.
La primera de las razones, es que tenía la impresión de que el script de analíticas de Google ralentizaba en exceso la web. Algo que siempre me ha preocupado, pero que últimamente, me da mas lo mismo. Por otro lado, que Google Analytics es todo un monstruo. Es cierto, que te da una cantidad de información brutal. Es cierto que te permite llegar hasta el fondo. Sin embargo, ¿para que tanta información? Yo al final miro cuatro cosas.
Además de esto, está el polémico tema de las cookies, que a mi me desespera completamente. Así que finalmente opté, como te decía, por utilizar un par de servicios, para resolver las analíticas web.
Mis opciones para la analítica web
Como te decía en aquel episodio 364 te hablé de dos herramientas, Plausible y por otro lado Uptime Kuma. En general hasta la fecha, he estado muy satisfecho con ambas herramientas, pero, hasta la fecha. Lo cierto es que, como te decía en la introducción del podcast, tenía la mosca detrás de la oreja con el consumo en el VPS, hasta que he visto, que Plausible, se estaba llevando el 12% de los recursos de memoria. Como comprenderás esto no me parece ni medio normal, teniendo en cuenta que solo lo estoy utilizando con una única web.
Por otro lado Uptime Kuma, me tiene mas que satisfecho. Actualmente me sirve para monitorizar 5 webs, y el funcionamiento es excelente. No solo me permite tener información puntual, sino que puedo ver gráficos sobre el tiempo de respuesta.
De hecho, en un vídeo reciente te hablé sobre la migración de dos sitios web, y estoy muy satisfecho con el resultado. En concreto, las tengo con un stack formado por,
- WordPress
- MariaDB
- Redis
Y por supuesto detrás de Traefik, y estoy consiguiendo tiempos de respuesta medio de 169 ms. Cierto es que no tienen mucho tráfico, pero estoy muy satisfecho.
Como te iba diciendo, con Uptime Kuma, tengo toda esta información, pero además puedo recibir notificaciones, cuando se produce cualquier evento, como puede ser la caída o recuperación de un sitio web. Estas notificaciones las recibo en Mattermost, en un canal que tengo creado al efecto, y estoy mas que tranquilo, con toda esta solución.
A cualquiera que me pregunte, evidentemente le recomendaré esta solución de Uptime Kuma, que me tiene muy satisfecho.
Grafana
¿Y como he visto este consumo exagerado de Plausible? Utilizando Grafana y un estupendo Dashboard que me permite estar al tanto de esto.
Este Dashboard lo he instalado desde el sitio web de Grafana, donde hay una increíble cantidad de dashboard disponibles de todos los gustos y colores.
Al intuir que había un consumo excesivo de recursos, hice algunas comprobaciones puntuales previas, con top y otras herramientas, y finalmente me decidí a levantar Grafana, que no siempre lo tengo en funcionamiento.
Aquí fue donde vi el desastre en lo que a consumo se refiere, y decidí poner solución, básicamente, reemplazar Plausible por otra herramienta.
Umami
Hace ya algún tiempo que publiqué un vídeo sobre Umami, pero, por si no lo has visto todavía, indicarte que Umami es una solución de analítica web realmente que utiliza MariaDB o PostgreSQL como motor de base de datos.
El funcionamiento y uso es realmente sencillo, y como el de otros servicios de analítica. Simplemente tienes que añadir un script en tu página web para que se haga el traqueo, y tan listos.
Pero además te permite traquear eventos, y para esto utiliza dos sistemas, o bien mediante clases CSS o bien utilizando directamente JavaScript.
En mi caso, actualmente, solo lo estoy utilizano para conocer las páginas mas visitas, pero no estoy haciendo, al menos de momento, seguimiento de eventos. Quizá mas adelante cuando actualice la página.
¿Como me estoy organizando?
Actualmente tengo tanto Plausible como Umami en funcionamiento y monitorizando mis páginas. Esto lo voy a tener durante todo un mes, para comprobar que el funcionamiento es correcto, y que tengo datos al menos del primer mes.
Durante las dos primeras semanas, ya te puedo decir, que no tiene nada que ver el consumo de Plausible con el de Umami. Umami, es que ni aparece, ni se le ve el morro, en Grafana.
Ahora, el que se está llevando la palma, en lo que a consumo se refiere es Grafana, así, que cuando lo tenga claro, detendré Grafana, hasta que vea que hay problemillas.
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.
Hola Lorenzo! Muy interesante tu artículo! Hecho de menos que nos detalles un poco más cómo has montado el Grafana para monitorizar los contenedores… cómo recopilas los datos, o el dashboard que has utilizado. Creo que sería de utilidad.
Saludos!
Hola Lorenzo! , primera vez por aquí, me dio vueltas en la cabeza lo del feedback y lo del consumo de docker, haciendo una simple búsqueda encontré ctop, lo instale………….. y es una joya para los amantes de la consola!
*******************************************
docker run –rm -it –name ctop \
–volume /var/run/docker.sock:/var/run/docker.sock:ro \
quay.io/vektorlab/ctop:latest
*********************************
Saludos
Buenos Lorezo, como siempre super interesante tu articulo, me gustaría su puede explicases un poco mas profundamente el tema de la monitorizacion con grafana, o me digas si ya lo has hecho en algún articulo, ¿lo tienes también dockerizado?
Un millón de gracias por todo lo que compartes
Sumo 1 a las peticiones de detalle sobre grafana. Gracias Lorenzo. Gran episodio. El amo del cliffhanger.