Fundaia

Entrar Empezar

Envío de logs

Los logs se quedan en la plataforma 30 días y se buscan desde la pestaña Logs. Si tu equipo ya tiene su propio sistema de observabilidad, un envío de logs le manda cada línea en cuanto el contenedor la imprime, para que la busques, la alertes y la guardes allí.

Se configuran en los ajustes del proyecto, en Envío de logs. Un envío lleva todos los servicios y entornos del proyecto, o solo los que elijas, y por defecto solo los logs de ejecución; puedes añadir también los de build y arranque.

Destinos

DestinoQué necesita
HTTPUna dirección https://. Recibe una línea JSON por log (application/x-ndjson) o, si lo eliges, un array JSON. Puedes añadir cabeceras, como Authorization
Better Stack (Logtail)El token de una fuente HTTP. Las fuentes nuevas tienen su propio host de ingesta
AxiomUn dataset y un token con permiso de ingesta
DatadogLa API key y el sitio de la cuenta (datadoghq.com, datadoghq.eu, us3, us5, ap1…). Cada log lleva ddsource: fundaia, service y hostname del servicio y las etiquetas project, env, stream y deployment
Grafana LokiLa dirección de push (…/loki/api/v1/push), y si hace falta usuario y contraseña (en Grafana Cloud, el número de instancia y un token) y el tenant
OpenTelemetryUn collector por OTLP/HTTP en JSON (…/v1/logs) y sus cabeceras

Cada línea lleva la hora, el mensaje sin los códigos de color, el flujo (runtime, build…), el nivel, el proyecto, el entorno, el servicio y el despliegue. Los secretos ya enmascarados en los logs llegan enmascarados.

Solo se envía a direcciones públicas por https://: la plataforma nunca manda nada a su propia red, ni sigue redirecciones.

Secretos

Tokens, API keys, contraseñas y valores de cabeceras se guardan cifrados con la clave de la plataforma, como las variables secretas, y no se vuelven a mostrar: la pantalla, la CLI y el MCP solo enseñan los cuatro últimos caracteres (••••1234) y el nombre de las cabeceras. Para cambiar uno, escribe el nuevo.

Cómo se entrega

  • Por lotes: hasta 500 líneas o lo que se haya juntado en 2 segundos, en una sola petición.
  • Sin frenar a nadie: los logs se escriben y se enseñan igual de rápido con envíos que sin ellos. Cada envío tiene su propia cola en memoria de 10.000 líneas; si el destino no da abasto, se descartan las más antiguas y se cuentan.
  • Reintentos: si el destino no contesta o devuelve un error, se reintenta con esperas que se doblan, de 1 segundo hasta 1 minuto. Si dice que el lote está mal (400, 413, 422) ese lote se descarta para no atascar los siguientes.
  • Avisa cuando falla: tras tres fallos seguidos el envío pasa a Falla, con el motivo, y queda en el historial del proyecto; sigue reintentando solo y vuelve a Entregando en cuanto el destino responde. Pausarlo y reanudarlo, o cambiar el secreto, lo prueba de nuevo al momento.

Enviar una línea de prueba manda una línea ahora mismo y te dice qué contestó el destino.

Desde la CLI

fundaia drains tienda
fundaia drains add tienda --kind betterstack --secret <token>
fundaia drains add tienda --kind axiom --dataset tienda --secret xaat-… --services api,web
fundaia drains add tienda --kind datadog --site datadoghq.eu --secret <api key> --build
fundaia drains add tienda --kind loki --endpoint https://logs-prod-012.grafana.net/loki/api/v1/push --user 123456 --secret glc_…
fundaia drains add tienda --kind http --endpoint https://logs.tienda.com/ingesta --header 'Authorization: Bearer …'
fundaia drains test tienda 'Better Stack'
fundaia drains set tienda 'Better Stack' --pause
fundaia drains rm tienda 'Better Stack'

El secreto va en --secret y la dirección en --endpoint, porque --token y --url son las opciones de la propia CLI para entrar en la instancia.

Desde un agente y la API

Por MCP: list_log_drains, add_log_drain, update_log_drain, test_log_drain y remove_log_drain (con confirm, el nombre del envío). El secreto entra como argumento y nunca se devuelve.

Por la API: GET·POST /api/infra/projects/:project/log-drains, GET·PATCH·DELETE …/log-drains/:drain y POST …/log-drains/:drain/test.