使用 Cloud Monitoring 监控数据库
本页面介绍了如何使用 Cloud Monitoring 信息中心查看可用指标、创建自定义信息中心和设置提醒。查看与 MongoDB 兼容的 Firestore 指标
如需查看不同的与 MongoDB 兼容的 Firestore 指标并创建图表,请使用以下任一工具:
Google Cloud 控制台的 Firestore 部分中的监控页面。 此页面包含一个预定义的监控信息中心。您还可以创建最多一个自定义信息中心。如需访问数据库的监控页面,请按以下步骤操作:
在 Google Cloud 控制台中,打开 Firestore 数据库页面。
从列表中选择一个数据库。
在导航菜单中,点击 Monitoring 以打开信息中心。
Google Cloud 控制台中的 Cloud Monitoring 内的 Metrics Explorer。如需详细了解如何创建图表,请参阅使用 Metrics Explorer 创建图表。
受监控的资源
Cloud Monitoring 中受监控的资源表示虚拟机、数据库或应用等逻辑实体或物理实体。受监控的资源包含一组独特的指标,可通过信息中心进行探索、报告或用于创建提醒。此外,每个资源还具有一组资源标签,这些标签是键值对,包含有关资源的其他信息。资源标签适用于与资源关联的所有指标。
使用 Cloud Monitoring API,可通过以下资源监控具有 MongoDB 兼容性的 Firestore 性能:
资源 | 说明 |
firestore.googleapis.com/Database | 提供 project 、location 和 database_id 细分的受监控的资源类型。对于未指定名称而创建的数据库,database_id 标签将为 (default) 。 |
指标
如需查看 Firestore 指标的完整列表,请参阅 Firestore 指标。以下部分介绍了一些可用的指标
服务运行时指标
serviceruntime
指标可让您大致了解项目的流量。这些指标适用于大多数 Google Cloud API。consumed_api
受监控的资源类型包含以下常见指标。这些指标每 30 分钟采样一次,因此数据会变得平滑。
对于 serviceruntime
指标,一个重要的资源标签是 method
。此标签表示所调用的底层 RPC 方法。您调用的 SDK 方法可能不一定与底层 RPC 方法同名。原因是 SDK 提供高级 API 抽象。不过,在尝试了解应用如何与 Firestore 互动时,务必要了解基于 RPC 方法名称的指标。
如果您需要了解给定 SDK 方法的底层 RPC 方法,请参阅 API 文档。
您可以使用以下服务运行时指标来监控数据库。
api/request_latencies
api/request_latencies
指标提供所有已完成请求的延迟时间分布。
Firestore 会记录来自 Firestore 服务组件的指标。延迟时间指标包括从 Firestore 收到请求到 Firestore 完成发送响应的时间,包括与存储层的互动。因此,这些指标不包括客户端与 Firestore 服务之间的往返延迟时间 (rtt)。
文档操作指标
Firestore 会提供读取、写入和删除次数。写入指标可细分“CREATE”和“UPDATE”操作。这些指标与 CRUD 操作相对应。
您可以使用以下指标来了解数据库是读密集型还是写密集型,以及新文档与已删除文档的比率。
document/delete_ops_count
:成功删除文档的次数。document/read_ops_count
:通过查询或查找成功读取的文档数量。document/write_ops_count
:成功写入文档的次数。
指数指标
可以将索引写入速率与 document/write_ops_count
指标进行对比,以了解索引扇出。
index/write_count
:索引写入次数。
TTL 指标
具有 MongoDB 兼容性的 Firestore 的 TTL 指标用于监控强制执行的 TTL 政策的效果。
document/ttl_deletion_count
:由 TTL 服务删除的文档总数。document/ttl_expiration_to_deletion_delays
:具有 TTL 的文档从到期到实际删除之间的间隔时间。
创建自定义 Cloud Monitoring 信息中心
在 Cloud Monitoring 中,您可以利用自定义信息中心以有条理的方式显示与您相关的信息。例如,您可以创建一个信息中心,用于显示生产环境中项目的性能指标和提醒政策。
如需详细了解如何设置自定义信息中心,请参阅管理自定义信息中心和添加信息中心微件。
创建提醒政策
借助 Cloud Monitoring,您可以创建提醒,以便在指标条件发生变化时收到通知。您可以使用这些提醒在潜在问题影响用户之前收到通知。
如需详细了解如何创建提醒,请参阅创建指标阈值提醒政策。
请看以下示例,其中我们创建了一个延迟时间提醒政策。提醒政策会检查 5 分钟滚动期内的 p99 延迟时间。如果 p99 延迟时间持续超过 250 毫秒达 5 分钟,则会触发提醒。
控制台
在 Google Cloud 控制台中,前往 Monitoring 页面,然后选择 notifications 提醒。
选择创建政策。
从已使用的 API 资源中选择请求延迟时间指标。
为 Firestore Native 数据库添加
firestore.googleapis.com
的服务过滤条件。点击下一步以配置触发器。
选择条件类型作为阈值。
阈值条件设置为 250 毫秒的阈值。如果 p99 延迟时间值在整个滚动窗口期(5 分钟)内保持不变,系统会触发提醒。
将阈值设置为 250。
点击下一步以配置通知。
设置提醒政策名称,然后点击下一步。
查看提醒配置,然后点击创建政策。
MQL
您可以使用 Monitoring Query Language (MQL) 查询来实现相同的延迟时间提醒政策。如需查看更多使用 MQL 的示例,请参阅示例 MQL 查询。
fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
[value_request_latencies_percentile:
percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'