Gemma 2B: observabilidad en Kubernetes con Prometheus y Grafana

Cuando desplegamos por primera vez Prometheus y Grafana para Gemma 2B sobre Kubernetes esperaba ver paneles útiles con métricas como tokens por petición, latencia por inferencia y número de inferencias procesadas. En su lugar obtuvimos las métricas aburridas de siempre: porcentaje de CPU, uso de memoria y reinicios de contenedores. Esas métricas confirman que el pod está vivo pero no dicen nada sobre el modelo: si la inferencia es lenta, si hay timeouts o cuántos tokens se están procesando.
Para depurar el problema comprobamos lo habitual: Prometheus está raspando el pod de Ollama, Grafana está conectado, existe un endpoint de métricas en Ollama. La sorpresa fue que Ollama por defecto no expone métricas a nivel de modelo. Solo sirve la API de inferencia y nada más, de modo que Prometheus estaba raspando información poco útil.
La solución fue añadir Ollama Exporter como sidecar. Encontramos en GitHub un proyecto llamado Ollama Exporter que se ejecuta como contenedor sidecar dentro del mismo pod que Ollama, consulta la API de Ollama y expone métricas reales en /metrics para que Prometheus las recoja. Arquitectónicamente quedó así: un pod con Ollama Server en el puerto 11434 y Ollama Exporter en el puerto 11435 ofreciendo métricas.
Integración práctica: añadimos al deployment del pod un contenedor secundario con nombre ollama-exporter que usa la imagen ghcr.io/jmorganca/ollama-exporter:latest y expone el puerto 11435. El exporter se configura para conectar a Ollama mediante OLLAMA_HOST apuntando a http://localhost:11434. En Prometheus añadimos un scrape job llamado ollama con target ollama-service:11435 para recoger las métricas del exporter.
Tras integrar el exporter, Grafana cobró vida con métricas de verdad. Entre otras obtuvimos ollama_requests_total que cuenta el número de peticiones de inferencia, ollama_latency_seconds que mide la latencia por petición, ollama_tokens_processed que indica tokens procesados por inferencia y ollama_model_load_time que muestra el tiempo de carga del modelo Gemma 2B. Por fin teníamos observabilidad del modelo y no solo del pod.
Lecciones aprendidas: las métricas por defecto de Kubernetes sirven para verificar salud de contenedores pero no para saber cómo se comporta un modelo. Es necesario un sidecar como Ollama Exporter para exponer métricas de inferencia. Prometheus solo raspa lo que se le configura, así que una sola entrada de scrape puede marcar la diferencia. Y con esas métricas pudimos ajustar correctamente requests y limits de CPU y memoria para el pod.
Próximos pasos: añadir reglas de alertas para picos de latencia y errores de tokens, exportar métricas históricas a almacenamiento a largo plazo como Thanos o Loki y comparar rendimiento entre modelos probando Gemma 3, LLaMA 3 o Phi-3 para medir latencia de inferencia. También consideramos automatizar despliegues y escalados basados en métricas de inferencia.
En Q2BSTUDIO como empresa de desarrollo de software y aplicaciones a medida somos especialistas en soluciones de inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos servicios integrales que van desde el desarrollo de software a medida hasta la integración de modelos de IA para empresas y la monitorización en producción. Si buscas potenciar modelos de lenguaje con observabilidad y métricas robustas podemos ayudarte a diseñar la arquitectura y las pipelines necesarias. Con experiencia en servicios cloud aws y azure podemos desplegar soluciones escalables y seguras, y además brindamos servicios de servicios inteligencia de negocio y visualización con Power BI para aprovechar las métricas operacionales en decisiones estratégicas.
Si te interesa una solución personalizada para integrar observabilidad de modelos o desplegar agentes IA en producción visita nuestra página de inteligencia artificial Servicios de Inteligencia Artificial en Q2BSTUDIO y para despliegues en la nube consulta nuestras opciones de servicios cloud aws y azure. Trabajamos con aplicaciones a medida, software a medida, ciberseguridad y servicios de inteligencia de negocio para que tu proyecto de IA llegue a producción con la calidad y seguridad que exige el mercado.
Si pruebas este setup o lo mejoras, nos encantaría saberlo. Compartir experiencias nos ayuda a seguir mejorando prácticas de observabilidad para modelos de inferencia en Kubernetes.
Comentarios