Logporter mete métricas, logs y avisos de actualización de Docker en un contenedor de 8 MB
Un desarrollador publica un exportador en Go que reemplaza a cAdvisor en homelabs y entornos pequeños: un solo binario, sin parsear cgroup y hablando directamente con el socket de Docker.

Un desarrollador ha publicado Logporter, un exportador escrito en Go que cubre a la vez las métricas de contenedores, la recolección de logs y la comprobación de actualizaciones de imágenes. Todo vive en un único binario de 8 MB sobre una imagen scratch que se comunica exclusivamente con el socket de Docker. El proyecto nace de un problema muy concreto: cAdvisor se le iba de las manos en su homelab, pasando de unos 50 MB al arrancar hasta 1 o 2 GB, momento en el que el contenedor moría por OOM. Esa cifra es suya, no de un tercero, y no hay benchmark independiente publicado.
Qué trae dentro
El componente de métricas es un exportador de Prometheus con más de veinte series de contenedores, imágenes y volúmenes: CPU, memoria, entrada y salida de red y de disco, estado de salud y actualizaciones disponibles. Lo recoge todo a través del SDK oficial de Docker, sin leer /sys/fs/cgroup ni desplegar servicios auxiliares.
El recolector de logs envía stdout y stderr de todos los contenedores a Loki en lotes comprimidos con gzip y etiquetados con el nombre del contenedor y los del compose. Para las actualizaciones usa dos estrategias con respaldo: comparación de etiquetas semver mediante go-containerregistry, que funciona con Docker Hub, GHCR y otros registros, o comparación de digest contra la API de Docker. Hay una tabla de contenedores, imágenes y volúmenes y un visor de logs en vivo con varios modos de filtrado, todo embebido en el binario y sin dependencias de frontend.
El despliegue
El arranque es un git clone del repositorio seguido de un docker-compose up -d --pull always. El compose trae Prometheus, Loki y Grafana ya configurados, con las reglas de scrape, las alertas, las fuentes de datos y el panel de Grafana listos para usar. La imagen se publica en Docker Hub.
El autor justifica la elección frente a las alternativas habituales. Dice que cAdvisor pesa demasiado y filtra memoria en entornos dinámicos, que Dozzle está bien pero no guarda histórico ni línea temporal, y que montar un stack ELK para un homelab es matar moscas a cañonazos. La promesa es la de siempre en este terreno: sustituir tres piezas por una.
Por qué merece un vistazo
Para quien administra un servidor doméstico o un entorno de desarrollo con pocos recursos, cada contenedor que se ahorra cuenta. Logporter ataca justo eso, y el hecho de que no necesite parsear cgroup elimina una fuente clásica de fallos cuando la versión del kernel o la jerarquía de grupos cambia bajo los pies. Queda por ver cómo se comporta con cientos de contenedores en lugar de una docena, cuánto ocupa el binario en memoria en régimen estable y si las comprobaciones de actualización aguantan contra registros con límites de peticiones agresivos. El proyecto acepta PRs, así que el tiempo lo dirá sin que haga falta apostar nada.
