欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

监控数据库用量

在管理 Firebase 项目的过程中,您需要查看 Realtime Database 的资源用量(例如连接的用户数、数据库使用的存储空间大小)及其对费用的影响。

如需查看您的 Realtime Database 的计费用量,请查看使用情况和结算信息中心。如需详细了解结算,请参阅了解 Realtime Database 结算

对于资源用量,Firebase 控制台中的数据库用量标签页和 Cloud Monitoring 提供的指标都可以帮助您监控 Realtime Database 用量。

Firebase 控制台

如需查看当前的 Realtime Database 连接和数据用量,请查看 Firebase 控制台中的用量标签页。您可以查看当前结算周期、过去 30 天或过去 24 小时的用量。

Firebase 会显示以下指标的用量统计信息:

  • 连接数:同时连至您的数据库且当前处于打开状态的实时连接数。包括以下实时连接:WebSocket、长轮询和 HTML 服务器发送的事件,但不包括 RESTful 请求。
  • 存储量:您的数据库中存储的数据量。不包括 Firebase 托管或通过其他 Firebase 产品存储的数据。
  • 下载量:从您的数据库下载的所有字节,包括协议和加密开销。
  • 负载:此图表显示了给定的 1 分钟间隔内,在处理请求时数据库的使用率。当数据库负载接近 100% 时,就可能会出现性能问题。

Firebase 控制台中的 Realtime Database 规则监控信息中心。

此外,Firebase 控制台还提供 Firebase 安全规则评估信息中心,这是一种实用的服务,可让您对规则调用一目了然。如果您觉得此信息中心中的内容不够详细,可以参阅 Cloud Monitoring 中的详细分析。

如需了解详情,请参阅在 Cloud Monitoring 中监控安全规则

Firebase 控制台中的 Realtime Database 用量信息中心。

Cloud Monitoring

用量指标

如需使用 Cloud Monitoring 监控计费的使用量,请跟踪以下指标。请注意,所有指标类型的名称前缀均为 firebasedatabase.googleapis.com/

指标名称 说明
已发送的载荷字节数

network/sent_payload_bytes_count。此指标反映了通过数据库操作(包括获取、查询、写入、实时监听器更新和广播)请求的数据大小,但不包含任何连接开销(协议或加密)。sent_payload_bytes_count 会影响传出带宽费用,但并不计入总计费费用。它代表响应请求时从数据库发送的数据的估算量,但是,由于它衡量的是所请求的数据的载荷大小(而非实际发送的数据),因此可能并不一定准确。

已发送的载荷和协议字节数

network/sent_payload_and_protocol_bytes_count。此指标既可反映上述载荷数据的大小,又可反映连接所需的协议开销(例如 HTTP 标头、WebSocket 帧和 Firebase 实时协议帧)的大小。它不计入安全连接的加密费用。

已发送的字节数 network/sent_bytes_count。此指标反映了通过读取操作从数据库发出的数据总大小的估算值。它包含实际发送到客户端的载荷数据,以及产生连接费用的协议和加密开销。此指标最能准确地反映 Realtime Database 帐单上的总传出带宽。
总字节数

storage/total_bytes。使用此指标可监控您的数据库中存储的数据量。您在 Realtime Database 中存储的数据会影响您的结算费用。

综合信息中心里图表中的指标,您就可以挖掘出实用的分析洞见,并掌握总体情况。例如,您可以尝试使用以下指标组合:

  • 传出数据:使用 network/sent_bytes_countnetwork/sent_payload_and_protocol_bytes_countnetwork/sent_payload_bytes_count 指标可以找出与导致您帐单上出现意外费用的协议或加密开销有关的潜在问题。如果所请求的数据载荷的大小与反映连接开销的其他指标之间存在较大差异,建议您排查是否存在可能会导致超时或频繁连接的问题。如果您未使用 TLS 会话票证,则可以尝试实施这类票证以减少恢复连接时产生的 SSL 连接开销。
  • 操作:使用 io/database_load 指标可以了解每种操作类型使用的数据库总负载量。请确保按类型对 io/database_load 进行分组以针对不同的操作类型进行问题排查。
  • 存储:使用 storage/limitstorage/total_bytes 可监控您的存储利用率(相对于 Realtime Database 存储限制)。

请参阅通过 Cloud Monitoring 提供的 Realtime Database 指标的完整列表

创建 Cloud Monitoring 工作区

如需使用 Cloud Monitoring 监控 Realtime Database,您必须为项目设置一个工作区。工作区会整理一个或多个项目的监控信息。设置完工作区后,您可以创建自定义信息中心和提醒政策。

  1. 打开 Cloud Monitoring 页面

    如果您的项目已经属于某个工作区,则系统会打开 Cloud Monitoring 页面。否则,请为项目选择工作区。

  2. 选择 New Workspace(新工作区)选项或选择现有工作区。

  3. 点击 Add(添加)。构建工作区后,系统会打开 Cloud Monitoring 页面。

创建信息中心并添加图表

在您自己的图表和信息中心内显示通过 Cloud Monitoring 收集的 Realtime Database 指标。

在继续之前,请确保您的项目已经属于某个 Cloud Monitoring 工作区

  1. 在 Cloud Monitoring 页面中,打开工作区并转到 Dashboards(信息中心)页面。

    转到“Dashboards”页面

  2. 点击 Create Dashboard(创建信息中心),然后输入信息中心名称。

  3. 在右上角,点击 Add Chart(添加图表)。

  4. Add Chart(添加图表)窗口中,输入图表标题。点击 Metric(指标)标签页。

  5. Find resource type and metric(查找资源类型和指标)字段中,输入 Firebase Realtime Database。从自动填充的下拉列表中选择一个 Realtime Database 指标。

  6. 如需向同一图表添加更多指标,请点击 Add Metric(添加指标)并重复执行上一步。

  7. 根据需要,自定义您的图表。例如,在 Filter(过滤条件)字段中,点击 + Add a filter(添加过滤条件)。向下滚动,然后为希望作为图表过滤依据的相关指标选择一个值或范围。

  8. 点击Save(保存)。

如需详细了解 Cloud Monitoring 图表,请参阅使用图表

创建提醒政策

您可以根据 Realtime Database 指标创建提醒政策。按下列步骤操作即可创建以下提醒政策:只要具体的 Realtime Database 指标达到特定阈值,您就会收到电子邮件。

在继续之前,请确保您的项目已经属于某个 Cloud Monitoring 工作区

  1. 在 Cloud Monitoring 页面中,打开工作区,然后转到 Alerting(提醒)页面。

    转到“Create New Alerting Policy”页面

  2. 点击 Create Policy(创建政策)。

  3. 输入您的提醒政策的名称。

  4. 根据其中一个 Realtime Database 指标添加提醒发出条件。点击 Add Condition(添加条件)。

  5. 选择一个 Target(目标)。在 Find resource type and metric 字段中,输入 Realtime Database。从自动填充的下拉列表中选择一个 Realtime Database 指标。

  6. Policy triggers(政策触发器)下,使用下拉菜单字段定义提醒发出条件。

  7. 向提醒政策中添加通知渠道。在通知 (Notifications) 下,点击添加通知渠道 (Add Notification Channel)。从下拉菜单中选择 Email(电子邮件)。

  8. Email address(电子邮件地址)字段中输入您的电子邮件地址。点击 Add(添加)。

  9. (可选)填写文档字段,以在电子邮件通知中包含其他信息。

  10. 点击Save(保存)。

如果您的 Realtime Database 用量超过配置的阈值,您将收到电子邮件提醒。

如需详细了解提醒政策,请参阅提醒简介

后续步骤