Comienza a usar Genkit Monitoring

En esta guía de inicio rápido, se describe cómo configurar Firebase Genkit Monitoring para tus funciones de Genkit implementadas, de modo que puedas recopilar y ver datos de telemetría en tiempo real. Con Firebase Genkit Monitoring, obtienes visibilidad sobre el rendimiento de tus funciones de Genkit en producción.

Entre las funciones clave de Firebase Genkit Monitoring, se incluyen las siguientes:

  • Visualizar métricas cuantitativas, como la latencia, los errores y el uso de tokens de las funciones de Genkit
  • Inspeccionar los seguimientos para ver los pasos, las entradas y las salidas de las funciones de Genkit para ayudar con la depuración y la mejora de la calidad
  • Exporta seguimientos de producción para ejecutar evaluaciones en Genkit.

Para configurar Genkit Monitoring, debes completar tareas en tu base de código y en la consola de Google Cloud.

Antes de comenzar

  1. Si aún no lo hiciste, crea un proyecto de Firebase.

    En Firebase console, haz clic en Agregar un proyecto y, luego, sigue las instrucciones en pantalla. Puedes crear un proyecto nuevo o agregar servicios de Firebase a un proyecto de Google Cloud existente.

  2. Asegúrate de que tu proyecto tenga el plan de precios Blaze.

    Genkit Monitoring se basa en datos de telemetría escritos en Google Cloud Logging, Metrics y Trace, que son servicios pagados. Consulta la página de precios de Google Cloud Observability para obtener detalles sobre los precios y conocer los límites del nivel sin cargo.

  3. Para escribir una función de Genkit, sigue la Guía de introducción y prepara tu código para la implementación con una de las siguientes guías:

    1. Cómo implementar flujos con Cloud Functions para Firebase
    2. Implementa flujos con Cloud Run
    3. Implementa flujos en cualquier plataforma de Node.js

Paso 1: Agregar el complemento de Firebase

Instala el complemento @genkit-ai/firebase en tu proyecto:

npm i save @genkit-ai/firebase

Importa enableFirebaseTelemetry en el archivo de configuración de Genkit (el archivo en el que se inicializa genkit(...)) y llámalo:

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry();

Paso 2: Habilite las API necesarias

Asegúrate de que las siguientes APIs estén habilitadas para tu proyecto de GCP:

Estas APIs deberían estar enumeradas en el panel de la API del proyecto.

Paso 3: Configura los permisos

El complemento de Firebase debe usar una cuenta de servicio para autenticarse con los servicios de Google Cloud Logging, Metrics y Trace.

Otorga los siguientes roles a la cuenta de servicio que esté configurada para ejecutar tu código en la consola de Google Cloud IAM. En el caso de Cloud Functions para Firebase o Cloud Run, suele ser la cuenta de servicio de procesamiento predeterminada.

  • Escritor de métricas de Monitoring (roles/monitoring.metricWriter)
  • Agente de Cloud Trace (roles/cloudtrace.agent)
  • Escritor de registros (roles/logging.logWriter)

Paso 4: Prueba la configuración de forma local (opcional)

Antes de la implementación, puedes ejecutar tu código de Genkit de forma local para confirmar que se recopilan los datos de telemetría y se pueden ver en el panel de supervisión de Genkit.

  1. En tu código de Genkit, establece forceDevExport en true para enviar la telemetría desde tu entorno local.

  2. Usa tu cuenta de servicio para autenticar y probar la configuración.

    Con la herramienta Google Cloud CLI, realiza la autenticación con la cuenta de servicio:

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
    
  3. Ejecuta e invoca tu función de Genkit y, luego, consulta las métricas en el panel de supervisión de Genkit. Espera hasta 5 minutos para recopilar la primera métrica. Puedes reducir esta demora si configuras metricExportIntervalMillis en la configuración de la telemetría.

  4. Si las métricas no aparecen en el panel de Genkit Monitoring, consulta la guía de solución de problemas para ver los pasos de depuración.

Paso 5: Volver a compilar y a implementar el código

Vuelve a compilar, implementar e invocar tu función de Genkit para comenzar a recopilar datos. Después de que Genkit Monitoring reciba tus métricas, podrás verlas si visitas el panel de Genkit Monitoring.