发布应用后,您应对其进行监控和保护:
如果您使用 Firebase Hosting 进行发布,可以将 Firebase 项目关联到 Cloud Logging,以便监控使用情况和访问 Web 请求日志。如需了解详情,请参阅使用 Cloud Logging 查看、搜索和过滤您的 Web 请求日志。
如果您使用 App Prototyping agent 与 Firebase App Hosting 一起发布,可以利用其可观测性功能来监控您的网站性能。您还可以将日志写入 Cloud Logging,并在 Firebase 控制台中查看日志和性能指标。
如果您在应用中将 AI 与 Genkit 搭配使用,则可以监控生成式 AI 功能在生产环境中的运行情况。
如果您的应用包含 Firebase 服务,请使用 Firebase App Check 对其进行保护。
使用 App Hosting 可观测性功能监控您的网站性能
Firebase Studio中的应用概览面板提供了有关应用的关键指标和信息,让您可以使用 App Hosting 的内置可观测性工具监控 Web 应用的性能。网站发布后,您可以点击发布来查看概览。在此面板中,您可以执行以下操作:
- 点击发布以发布应用的新版本。
- 通过访问您的应用分享应用链接或直接打开您的应用。
- 查看过去 7 天的应用性能摘要,包括请求总数和最新发布状态。点击查看详细信息,以便在 Firebase 控制台中访问更多信息。
- 查看图表,了解您的应用在过去 24 小时内收到的请求数量,并按 HTTP 状态代码分类显示。
如果您关闭了“应用概览”面板,可以随时点击发布重新打开。
如需详细了解如何管理和监控 App Hosting 发布,请参阅管理发布和版本。
适用于已部署的功能的 Genkit Monitoring
您可以通过向 AI flow 代码启用遥测来监控 Genkit 功能步骤、输入和输出。借助 Genkit 的遥测功能,您可以监控 AI flow 的性能和用量。这些数据可帮助您确定需要改进的方面、排查问题、优化提示和流程以提高性能和成本效益,以及跟踪 flow 的使用情况。
如需在 Genkit 中设置监控,您需要向 Genkit AI flow 添加遥测数据,然后在 Firebase 控制台中查看结果。
第 1 步:在 Firebase Studio 中向 Genkit flow 代码添加遥测数据
如需在代码中设置监控,请执行以下操作:
如果您尚未进入 Code 视图,请点击
切换到代码以打开该视图。
检查
package.json
以验证已安装的 Genkit 版本。打开终端(
Ctrl-Shift-C
,在 MacOS 上为Cmd-Shift-C
)。点击终端并安装与
package.json
文件版本匹配的 Firebase 插件。例如,如果package.json
中的 Genkit 软件包版本为 1.0.4,您应运行以下命令来安装插件:npm i --save @genkit-ai/firebase@1.0.4
在探索器中,展开
src > ai > flows
。包含 Genkit flow 的一个或多个 TypeScript 文件会显示在flows
文件夹中。点击其中一个 flow 将其打开。
在文件的导入部分底部添加以下代码,以导入并启用
FirebaseTelemetry
:import { enableFirebaseTelemetry } from '@genkit-ai/firebase'; enableFirebaseTelemetry();
第 2 步:设置权限
Firebase Studio 在配置 Firebase 项目时已为您启用所需的 API,但您仍需为 App Hosting 服务账号提供权限。
如需设置权限,请执行以下操作:
打开 Google Cloud IAM 控制台,选择您的项目,然后向 App Hosting 服务账号授予以下角色:
- Monitoring Metric Writer (
roles/monitoring.metricWriter
) - Cloud Trace Agent (
roles/cloudtrace.agent
) - Logs Writer (
roles/logging.logWriter
)
- Monitoring Metric Writer (
将应用重新发布到 App Hosting。
发布完成后,加载并使用您的应用。五分钟后,您的应用应开始记录遥测数据。
第 3 步:在 Firebase 控制台中监控您的生成式 AI 功能
配置遥测后,Genkit 会记录所有 flow 的请求数、成功率和延迟时间,并且针对每个特定 flow,Genkit 会收集稳定性指标、显示详细图表并记录捕获的跟踪记录。
如需监控通过 Genkit 实现的 AI 功能,请执行以下操作:
五分钟后,在 Firebase 控制台中打开 Genkit,并查看 Genkit 的提示和回答。
Genkit 会编译以下稳定性指标:
- 请求总数:您的 flow 收到的请求总数。
- 成功率:成功处理的请求占总请求的百分比。
- 第 95 百分位的延迟时间:flow 的第 95 百分位的延迟时间,即处理 95% 的请求所需的时间。
token 使用情况:
- 输入 token:在提示中发送给模型的 token 数量。
- 输出 token:模型在回答中生成的 token 数。
图片使用情况:
- 输入图片数:在提示中发送给模型的图片数量。
- 输出图片数:模型在回答中生成的图片数。
展开稳定性指标后,将显示详细图表:
- 随时间变化的请求量。
- 随时间变化的成功率。
- 输入 token 数和输出 token 数随时间的变化。
- 延迟时间(第 95 百分位和第 50 百分位)随时间的变化。
如需详细了解 Genkit,请访问 Genkit。
使用 Firebase App Check 保护您的应用
如果您已将 Firebase 或 Google Cloud 服务集成到您的应用中,Firebase App Check 可以防止未经授权的客户端访问您的 Firebase 资源,从而有助于保护应用后端免遭滥用。它可与 Google 服务(包括 Firebase 和 Google Cloud 服务)和您自己的自定义后端搭配使用,以确保资源安全。
我们建议您为公开发布的所有应用添加 App Check,以保护您的后端资源免遭滥用。
本部分将引导您使用 reCAPTCHA Enterprise 在 Firebase Studio 中为由 App Prototyping agent 创建的 Web 应用设置 App Check,但您可以在实现 Firebase 服务并可以实现自定义提供方的任何应用中设置 App Check。如需了解详情,请前往 Firebase App Check。
ReCAPTCHA Enterprise 提供最多 10,000 次免费评估。
第 1 步:为您的应用设置 reCAPTCHA Enterprise
打开 Google Cloud 控制台的 reCAPTCHA Enterprise 部分。
从 Google Cloud 控制台项目选择器中选择您的 Firebase 项目的名称。
如果系统提示您启用 reCAPTCHA Enterprise API,请执行此操作。
点击开始使用,然后为您的 reCAPTCHA 网站密钥添加显示名称。
接受默认的 Web 应用类型密钥。
点击添加网域,然后添加网域。您需要添加 App Hosting 网域(例如
studio--PROJECT_ID.REGION.hosted.app
)以及您与应用搭配使用或计划与应用搭配使用的任何自定义网域。点击下一步。
将您是否会使用验证保留为未选中状态。
点击创建密钥。
复制并保存您的密钥 ID,然后继续执行配置App Check。
第 2 步:配置 App Check
打开 Firebase 控制台,然后在导航菜单中依次点击 Build > App Check。
点击开始使用,然后点击应用旁边的注册。
点击展开 ReCAPTCHA,然后粘贴您为 reCAPTCHA Enterprise 生成的密钥 ID。
点击保存。
第 3 步:在代码中添加 App Check
返回 Firebase Studio,在 Code 视图中,将您生成的网站密钥添加到
.env
文件:NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
如果您尚未将 Firebase 配置保存到
.env
,请获取该配置:在 Firebase 控制台中,打开项目设置,然后在与您的应用对应的部分中找到该设置。
在 Code 视图中的终端中:
- 登录 Firebase:
firebase auth login
- 选择您的项目:
firebase use FIREBASE_PROJECT_ID
- 获取 Firebase 配置:
firebase apps:sdkconfig
- 登录 Firebase:
将配置添加到
.env
文件中,使其如下所示:NEXT_PUBLIC_FIREBASE_API_KEY=FIREBASE_API_KEY NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=FIREBASE_AUTH_DOMAIN NEXT_PUBLIC_FIREBASE_PROJECT_ID=FIREBASE_PROJECT_ID NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=FIREBASE_STORAGE_BUCKET NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=FIREBASE_MESSAGING_SENDER_ID NEXT_PUBLIC_FIREBASE_APP_ID=FIREBASE_APP_ID NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
将 App Check 添加到您的应用代码中。您可以让 Gemini 将 App Check 与 reCAPTCHA Enterprise 添加到您的应用中(请务必指定“reCAPTCHA Enterprise”,并务必仔细检查!),也可以按照初始化 App Check 中的步骤操作。
将您的网站重新发布到 App Hosting。尝试测试您的 Firebase 功能以生成一些数据。
在 Firebase 控制台中依次打开 Build > App Check,验证 App Check 是否正在接收请求。
点击以检查 Firebase 服务。验证请求已到达后,点击强制执行以强制执行 App Check。
针对 Firebase Authentication 重复验证和强制执行。
为 App Check 注册应用后,如果您希望在 App Check 通常不会归类为有效提供方的环境(例如开发期间的本地环境)或持续集成 (CI) 环境中运行您的应用,可以创建应用的调试 build,该 build 使用 App Check 调试提供方,而不是真正的证明提供方。 如需了解详情,请参阅将 App Check 与 Web 应用中的调试提供程序搭配使用。