本快速入门指南介绍了如何为已部署的 Genkit 功能设置 Firebase Genkit Monitoring,以便您收集和查看实时遥测数据。借助 Firebase Genkit Monitoring,您可以了解 Genkit 功能在生产环境中的表现。
Firebase Genkit Monitoring 的关键功能包括:
- 查看 Genkit 功能延迟时间、错误和令牌用量等定量指标。
- 检查轨迹,查看 Genkit 的功能步骤、输入和输出,以便调试和改进质量。
- 导出生产轨迹以在 Genkit 中运行评估。
设置 Genkit Monitoring 需要在代码库和 Google Cloud 控制台中完成任务。
准备工作
如果尚未创建,请创建一个 Firebase 项目。
在 Firebase 控制台中,点击添加项目,然后按照屏幕上的说明操作。您可以创建新项目,也可以将 Firebase 服务添加到现有的 Google Cloud 项目。
确保您的项目采用的是 Blaze 定价方案。
Genkit Monitoring 依赖于写入 Google Cloud Logging、Metrics 和 Trace 这些付费服务的遥测数据。如需查看价格详情并了解免费层级的相关限制,请查看 Google Cloud Observability 价格页面。
按照入门指南编写 Genkit 功能,然后使用以下某个指南准备代码以进行部署:
第 1 步:添加 Firebase 插件
在项目中安装 @genkit-ai/firebase
插件:
npm i –save @genkit-ai/firebase
将 enableFirebaseTelemetry
导入您的 Genkit 配置文件(用于初始化 genkit(...)
的文件),并调用它:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry();
第 2 步:启用所需的 API
确保已为您的 GCP 项目启用以下 API:
这些 API 应该会在您的项目的 API 信息中心内列出。
第 3 步:设置权限
Firebase 插件需要使用服务账号对 Google Cloud Logging、Metrics 和 Trace 服务进行身份验证。
在 Google Cloud IAM 控制台中,向配置为在您的代码中运行代码的任意服务账号授予以下角色。对于 Cloud Functions for Firebase 和/或 Cloud Run,该账号通常是默认的计算服务账号。
- Monitoring Metric Writer (
roles/monitoring.metricWriter
) - Cloud Trace Agent (
roles/cloudtrace.agent
) - Logs Writer (
roles/logging.logWriter
)
第 4 步:(可选)在本地测试配置
在部署之前,您可以在本地运行 Genkit 代码,以确认系统是否正在收集遥测数据,以及这些数据是否可在 Genkit 监控信息中心内查看。
在 Genkit 代码中,将
forceDevExport
设置为true
,以便从本地环境发送遥测数据。使用您的服务账号进行身份验证并测试您的配置。
使用 Google Cloud CLI 工具,使用服务账号进行身份验证:
gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
运行并调用 Genkit 功能,然后在 Genkit 监控信息中心中查看指标。最长可能需要 5 分钟才能收集到第一个指标。您可以在遥测配置中设置
metricExportIntervalMillis
来缩短此延迟时间。如果 Genkit Monitoring 信息中心中未显示指标,请参阅问题排查指南,了解调试步骤。
第 5 步。重新构建并部署代码
重新构建、部署和调用您的 Genkit 功能,以开始收集数据。Genkit Monitoring 收到您的指标后,您可以访问 Genkit Monitoring 信息中心查看这些指标