本页面中介绍的 Google Cloud 数据服务包括为响应请求存储和提供数据的服务。这些服务的 SLI 类似于请求响应服务中所述的请求响应服务的 SLI,主要侧重于可用性和延迟时间。请注意,延迟时间(特别是在衡量数据库查询响应时间时)通常是由于要检索的数据量,并且可能会因应用工作负载而异。
您可以通过使用 TimeSeriesRatio
结构设置正常请求数与请求总数的比率来表示基于请求的可用性 SLI。可以使用可用标签获得“正常”或“有效”首选确定结果,从而决定如何过滤指标。
您可以使用 DistributionCut
结构来表示基于请求的延迟时间 SLI。
Cloud Storage
Cloud Storage 是一项 Google Cloud 的全球高度耐用的对象存储服务。Cloud Storage 有多个存储类别,让您可以确定适合您的服务或使用场景的费用和检索模型。
如需了解详情,请参阅以下内容:
- Cloud Storage 相关文档。
storage.googleapis.com
指标类型的列表。
可用性 SLI
Cloud Storage 使用 gcs_bucket
受监控的资源类型和 api/request_count
指标类型将指标数据写入 Cloud Monitoring。您可以使用 response_code
指标标签统计“正常”请求数来过滤数据。您还可以使用 method
指标标签来衡量特定 API 方法(例如 ReadObject
)的可用性。
您可以通过使用正常请求数与请求总数的比率 TimeSeriesRatio
来表示基于请求的可用性 SLI,从而从 Cloud Storage 存储桶读取对象,如以下示例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"",
"goodServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"
metric.label.\"response_code\"=\"OK\"",
}
}
}
延迟时间 SLI
Cloud Storage 不提供延迟时间指标;如果延迟时间存在问题,请考虑对服务进行插桩以在客户端上收集该指标。
Bigtable
Bigtable 是一项全代管式可扩缩的 NoSQL 数据库服务,用于处理大规模分析和运营工作负载。Bigtable 非常适合将大量数据存储在键值对存储区中。Bigtable 还支持以低延迟方式实现高读写吞吐量,让您能快速访问大量数据。
如需了解详情,请参阅以下内容:
- Bigtable 相关文档。
bigtable.googleapis.com
指标类型的列表。
可用性 SLI
Bigtable 使用 bigtable_table
受监控的资源类型和以下指标类型将指标数据写入 Cloud Monitoring:
-
server/request_count
,统计请求总数。 -
server/error_count
,统计失败请求总数。
您可以通过使用“错误”请求数与请求总数的比率 TimeSeriesRatio
来表示基于请求的可用性 SLI,从而从 Cloud Storage 存储桶读取对象,如以下示例所示:
您可以使用以上两个指标,通过为失败请求数与请求总数创建 TimeSeriesRatio
结构来表示基于请求的可用性 SLI,如以下示例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/request_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"badServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/error_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
}
}
}
延迟时间 SLI
如需衡量延迟时间,Bigtable 使用 bigtable_table
受监控的资源类型和 server/latencies
指标类型将指标数据写入 Cloud Monitoring。您可以使用 method
指标标签衡量特定方法的延迟时间来过滤数据。
您可以使用 DistributionCut
结构来表示基于请求的延迟时间 SLI。
以下示例 SLO 预计,在对 my_cluster
集群中 my_table
表的所有请求中,99% 的请求在一个滚动的一小时周期内的总延迟时间介于 0 到 100 毫秒之间。
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"bigtable.googleapis.com/server/latencies\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Spanner
Spanner 是一项全代管式关系型数据库服务,可提供全球范围的事务一致性、架构、SQL(ANSI 2011 扩展版),以及自动同步复制功能以实现高可用性。
如需了解详情,请参阅以下内容:
- Spanner 相关文档。
spanner.googleapis.com
指标类型的列表。
可用性 SLI
Spanner 使用 spanner_instance
受监控的资源类型和 query_count
指标类型将指标数据写入 Cloud Monitoring。您可以使用 status
指标标签统计成功和失败的数据库查询数来过滤数据。
您可以通过为“正常”请求数与请求总数创建 TimeSeriesRatio
结构来表示基于请求的可用性 SLI,如以下示例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"goodServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"
metric.label.\"status\"=\"ok\"",
}
}
}
延迟时间 SLI
如需衡量延迟时间,Spanner 使用 spanner_instance
受监控的资源类型和 api/request_latencies
指标类型将指标数据写入 Cloud Monitoring。您可以使用 method
指标标签衡量特定方法的延迟时间来过滤数据。数据不仅包括针对查询的延迟时间,还包括针对其他 Spanner API 调用的延迟时间。
您可以使用 DistributionCut
结构来表示基于请求的延迟时间 SLI。以下示例 SLO 预计,在对 my_database
数据库的所有 API 请求中,99% 的 API 请求在一个滚动的一小时周期内的总延迟时间介于 0 到 100 毫秒之间。
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"spanner.googleapis.com/api/request_latencies\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Datastore
Datastore 是面向应用且具有出色扩容能力的 NoSQL。Datastore 可自动处理分片和复制操作,为您提供一个高度可用且高度耐用的数据库,该数据库可自动扩缩,帮助您处理应用的负载。
如需了解详情,请参阅以下内容:
- Datastore 相关文档。
datastore.googleapis.com
指标类型的列表。
可用性 SLI
Datastore 使用 datastore_request
受监控的资源类型和 api/request_count
指标类型将指标数据写入 Cloud Monitoring。如需过滤数据,您可以使用 response_code
指标标签统计成功和失败的 API 调用次数,或者使用 api_method
指标标签来执行仅衡量文档读取次数等操作。
您可以通过为成功请求数与请求总数创建 TimeSeriesRatio
结构来表示基于请求的可用性 SLI,如以下示例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"",
"goodServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"
metric.label.\"response_code\"=\"success\"",
}
}
}
延迟时间 SLI
Datastore 目前不提供延迟时间指标。
如需了解可用指标,请参阅 datastore.googleapis.com
指标类型。