Mr.PlanB Logo
    Volver al blog
    Prometheus
    Exporters
    Monitoreo
    Ingeniería

    Por qué crear tu propio exporter de Prometheus puede ser la decisión acertada

    13 de enero de 2026
    7 min de lectura

    Toda instalación de Prometheus llega al mismo punto. Tienes node-exporter configurado, kube-state-metrics funcionando y media docena de exporters de la comunidad integrados, y de repente descubres un sistema aislado en un rincón de tu infraestructura que realiza tareas críticas sin generar una sola métrica.

    En este caso, el sistema era FreeIPA. Alguien lo rescató del olvido, vio que faltaban métricas y, en lugar de esperar a que surgiera el exporter "perfecto", hizo lo que los ingenieros llevan años haciendo: escribir el suyo propio.

    FreeIPA no es glamuroso, pero es crítico

    FreeIPA rara vez encabeza charlas de observabilidad. Cubre LDAP, gestión de identidades, Kerberos, replicación y certificados: la fontanería detrás de los flujos de autenticación en la que casi nadie piensa hasta que se rompe. Y cuando se rompe, el golpe es duro.

    El autor ya había utilizado FreeIPA en 2015 para un proyecto basado en LDAP. Esta vez contaba con dos instancias desplegadas mediante Docker con replicación entre ellas, y una necesidad real de vigilar el estado de esa replicación. En ese momento, la duda ya no es si tener paneles resultaría cómodo, sino por qué no los tienes todavía, ya que los problemas de replicación en un sistema de identidades son caídas anunciadas.

    El instinto del exporter

    Los ingenieros reaccionan de formas distintas cuando faltan métricas. Algunos abren una incidencia en GitHub, otros buscan forks y algunos atan con alambre scripts de shell a tareas de cron. Otros tienen el instinto del exporter: si no existe, constrúyelo.

    Así nació freeipa-exporter. El autor no pretendía lanzar un producto ni acumular estrellas en GitHub. Necesitaba observabilidad.

    "Quizá se me fue un poco de las manos"

    Esa frase del propio autor lo resume muy bien, y cualquiera que haya creado un exporter conoce esa pendiente resbaladiza. Empiezas con comprobaciones básicas de salud, un par de gauges y el estado de la replicación. Luego piensas "ya que estoy aquí" y añades estadísticas de LDAP, algunos contadores de Kerberos, la validez de los certificados, el recuento de usuarios y el retardo de replicación por cada par. Antes de darte cuenta, has montado una capa completa de telemetría.

    ¿Fue excesivo? Puede ser, pero también resulta muy satisfactorio. El autor reconoció abiertamente que era una gran excusa para volver a programar y que la experiencia fue entretenida. Ese tipo de disfrute pesa en el trabajo de infraestructura más de lo que solemos admitir.

    Monitorear la replicación fue la parte difícil

    El autor destacó el monitoreo de la replicación como el principal reto, y cualquiera que haya trabajado con directorios LDAP sabe por qué. El estado de la replicación rara vez se reduce a un simple valor booleano. Necesitas saber:

    • ¿Son accesibles ambos extremos?
    • ¿Hay retraso en los datos?
    • ¿Existen entradas en conflicto?
    • ¿Hay actualizaciones bloqueadas?
    • ¿Están en buen estado los acuerdos de replicación?

    La mayoría de los sistemas heredados no exponen nada de esto en un formato nativo para Prometheus, de modo que crear el exporter implica traducir el estado interno de la aplicación en gauges y contadores de Prometheus. No existe un endpoint /metrics al que hacer scraping. Tienes que consultar las API, procesar las respuestas y definir qué significa "saludable", lo cual es trabajo de ingeniería real.

    La energía de la comunidad es la recompensa

    La respuesta fue modesta y cercana. Alguien que redactaba un artículo sobre "cómo configurar FreeIPA", en un idioma distinto del inglés, se ofreció a mencionar el exporter. El autor respondió con amabilidad y expresó su deseo de que resultara útil.

    Así se expande el código abierto. Una persona resuelve un problema concreto, otra documenta FreeIPA para un homelab y el exporter pasa a ser una referencia en esa guía. Más adelante, alguien podría desplegarlo en producción, añadir nuevas métricas o corregir un error. No hay equipo de marketing ni campañas de lanzamiento, solo una herramienta útil que llega a manos de quienes la necesitan.

    Por qué crear tu propio exporter sigue importando

    Con tantas integraciones comerciales y paneles prediseñados por todas partes, es fácil olvidar que los exporters son simple código. Son capas de traducción sin nada de místico ni sagrado. Cuando no existe esa capa para tu sistema, tienes tres opciones:

    1. Ignorar la observabilidad.
    2. Hacer un apaño temporal.
    3. Construirlo como es debido.

    La tercera opción parece desmesurada al principio, hasta que te encuentras depurando un fallo de replicación a las 2 de la madrugada y dispones de métricas reales. Entonces parece un salvavidas.

    Los exporters son el pegamento del ecosistema

    Gran parte de la fuerza de Prometheus proviene tanto de sus exporters como de su propia base de datos temporal (TSDB): ese ecosistema de binarios pequeños y específicos que extraen métricas de bases de datos, colas, hipervisores, balanceadores de carga, sistemas de identidad y servicios internos de todo tipo. Cada uno traduce un sistema a métricas. Crear uno para FreeIPA extiende ese ecosistema a un rincón de la infraestructura que antes carecía de visibilidad. Es una labor poco vistosa, pero sostiene una gran responsabilidad.

    El valor oculto para homelabs y equipos pequeños

    La conversación también apunta a los homelabs: FreeIPA en Docker, replicación entre dos instancias y usuarios redactando tutoriales al respecto. Son entusiastas que montan infraestructuras de identidad en casa y buscan métricas adecuadas para ellas, justo el terreno donde los exporters comunitarios destacan. Los proveedores comerciales no siempre atienden entornos minoritarios y las grandes empresas suelen tener otras prioridades, pero un profesional con un problema concreto sí lo hará.

    La filosofía detrás de la broma

    La frase "porque los verdaderos héroes crean sus propios exporters" tiene un tono irónico, pero encierra una idea auténtica. Modelas la infraestructura tanto como la consumes, y si dependes de un sistema, conviene entenderlo lo bastante bien como para instrumentarlo. Escribir un exporter te obliga a:

    • Entender las API del sistema.
    • Definir qué significa que el sistema esté sano.
    • Decidir qué merece ser una métrica.
    • Pensar en la cardinalidad.
    • Diseñar las etiquetas con un propósito claro.

    Ese ejercicio profundiza tu criterio operativo incluso si nadie más llega a usar tu exporter.

    No todo problema necesita un proveedor comercial

    Las plataformas de observabilidad prometen integraciones automáticas para todo, pero la larga cola de la infraestructura siempre estará ahí: servicios muy específicos, herramientas internas, sistemas heredados, proyectos personales y servidores de identidad que desplegaste hace años y olvidaste. Los exporters son el medio para hacer visibles esos sistemas, y a veces la vía más limpia para conseguir uno consiste en escribirlo tú mismo porque te importa ver los datos. Ahí es donde suele comenzar la madurez operativa.