创建 SLO

要监控服务,您需要至少一个服务等级目标 (SLO)。SLO 封装了服务的性能目标。每个 SLO 都基于一个性能指标,称为服务等级指标 (SLI)。如需了解 SLI 和 SLO 的背景信息,请参阅服务监控相关概念

您最多可以为一项服务创建 500 个 SLO。

准备工作

如要获得查看和创建 SLO 所需的权限,请让您的管理员向您授予项目的 Monitoring Editor (roles/monitoring.editor) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

开始使用

如需定义 SLO,请前往创建服务等级目标 (SLO) 窗格。

  1. 在 Google Cloud 控制台中,转到 SLO 页面:

    前往 SLO

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 打开创建服务等级目标 (SLO) 窗格:

    对于新服务:

    1. 点击定义服务,然后根据需要定义您的服务
    2. 定义服务窗格中点击提交后,点击创建 SLO

    对于现有服务:

    1. 服务列表中,点击服务列表中所需服务的名称。
    2. 服务详情页面上,点击创建 SLO

SLO 创建窗格会引导您完成创建 SLO 的步骤。本文档的其余部分介绍了 SLO 创建过程中的以下每个步骤:

  1. 设置 SLI。
  2. 定义 SLI 详细信息
  3. 设置 SLO。
  4. 查看并保存 SLO。

如需前往下一步,请点击继续。在保存 SLO 之前,您可以点击先前步骤进行更改。如需退出 SLO 创建过程,请点击 取消

设置您的 SLI

设置 SLI 窗格具有以下子窗格:

  • 服务详情:用于报告有关您服务的标识信息。这与服务信息中心的服务详情窗格相同。

  • 选择指标,您可以在其中选择要监控的性能指标。

  • 基于请求还是基于窗口?,您可以选择指标的评估方式。

以下屏幕截图显示了 SLI 窗格:

使用**设置您的 SLI**窗格选择性能指标

如需详细了解 SLI 中使用的指标和评估方法,请参阅概念主题服务等级指标

选择指标

SLI 指标指定要衡量的性能类型。在 SLI 中,您可以根据该指标构建一个比率,以衡量一段时间内的良好性能。对于 SLI,您有以下选项:

  • 可用性,用于衡量您的服务是否可供用户使用。
  • 延迟时间,用于衡量对于用户来说,您的服务的响应能力。
  • 其他,用于指明您想要使用特定指标。您可以在设置 SLI 详细信息窗格中指定指标并描述如何创建 SLI。

有效选择取决于您要配置的服务类型。

  • 对于 Cloud Service Mesh 上的服务、Google Kubernetes Engine 上的 Istio 和 App Engine 上的服务,您可以选择任何选项。这些服务已知可用性和延迟时间指标,或者选择其他以使用自定义 SLI。

  • 对于基于 GKE 的服务以及自定义服务,唯一的选择是其他。Prometheus 指标未包含在默认的可用性和延迟时间 SLO 中,并且这些服务没有其他已知的可用性或延迟时间指标。

    如果您使用 Google Cloud Managed Service for Prometheus 配置了 Prometheus 指标收集功能,则可以将收集到的 Prometheus 指标设置为自定义 SLI。

选择评估方法

为 SLI 选择指标后,您可以指定应评估指标的方式。

  • 基于请求的评估会根据给定时间段内的请求总数来衡量符合评估条件的请求数量。

  • 基于 Windows 的评估会根据评估期的总数来衡量符合良好标准的评估期数量。

对于这两种评估方法,您可以在设置 SLI 详细信息页面上指定评估条件。

如需详细了解这些评估类型,请参阅基于请求和基于窗口的 SLO 的合规性

设置 SLI 详细信息

定义 SLI 详细信息窗格的内容取决于您在上一步中选择的指标和评估方式。

如果您选择了可用性指标和基于请求的评估,则不需要其他详细信息。

基于窗口的评估

如果您选择了基于窗口的评估,则可以在此窗格上设置窗口的其他条件:良好标准和持续时间。

通过选择良好标准和评估期来设置 SLI 窗口。

良好标准指示必须在合规期内评估“良好”的窗口百分比。该持续时间指定了窗口的时长。

延迟时间指标

如果您选择了延迟时间指标,则指定确定此窗格上可接受性能的阈值:

设置 SLI 的延迟时间阈值。

在评估 SLI 时,任何高于延迟时间阈值的行为均被视为“不良”性能。

自定义 SLI

如果您选择其他作为 SLI 指标,请指定要在此窗格上使用的指标。您可以通过输入性能指标字段来选择指标,或从列表中选择一个指标。

此列表中的指标分为两类:

  • 分布缩减指标
  • 时间序列比率指标

如果您是使用 Google Cloud Managed Service for Prometheus 收集 Prometheus 指标,则指标名称将以 prometheus.googleapis.com/ 开头。

以下屏幕截图显示了部分列表:

菜单中的指标会按指标类型进行分类。

如果选择分布缩减指标,您可以通过提供(高于、低于或小于)范围以及一个过滤条件来配置 SLI,以指定受监控的资源和您要包含的任何标签。配置窗格如下所示:

为分布缩减指标设置范围和过滤条件。

如果选择时间序列比率指标,您可以通过创建分子和分母过滤条件来配置比率,以对指标主句进行分类,通常可以在指标或资源类型中选择标签值。配置窗格如下所示:

为时间序列比率设置分子和分母过滤条件。

如需详细了解这些 SLI 类型,请参阅 DistributionCutTimeSeriesRatio 的 Monitoring API 参考页面。

GKE 控制平面指标

GKE 控制平面指标是一些有用的系统健康状况指标,可用于自定义 SLI。您必须先启用这些指标的收集功能,然后才能使用它们。这些指标由 Google Cloud Managed Service for Prometheus 收集。

  • 使用 [API 服务器指标][gke-api-metrics] 跟踪 API 服务器负载、返回错误的 API 服务器请求所占的比例,以及 API 服务器收到的请求的响应延迟时间。
  • 可使用调度器指标在没有足够的资源来处理待处理的 Pod 时主动对调度问题做出响应。

如需详细了解控制平面指标以及如何使用它们来监控系统健康状况,请参阅使用控制平面指标

预览图表

配置 SLI 后,定义 SLI 详细信息窗格会包含一个预览图表,显示 SLI 如何衡量此服务的历史性能。例如:

已完成的 SLI 会根据历史数据显示图表。

如果您刚刚创建或部署了服务,则可能还没有任何数据。您仍然可以创建 SLI,但无法获得历史分析。

设置您的 SLO

设置 SLO 窗格具有以下分区:

  • 合规期:您可以在其中设置评估 SLI 的时间段。

  • 效果目标:您可以在此指定合规期内的性能阈值。

  • 预览:显示性能目标阈值的图表,以及显示合规期内 SLI 评估结果的图表。

通过选择合规期和性能目标来设置 SLO。

合规期

合规期有两种,您可以从菜单中选择:

  • 日历周期
  • 滚动窗口

日历周期衡量的是固定时间段内的合规性。该时间段结束时,系统会重置错误预算,并开始实施新的合规期。

滚动窗口是变动周期。它还有一个时长,但是在过去 n 天内计算的合规性。当新的一天开始时,系统将根据过去 n 天计算一次合规性和剩余的错误预算。

要详细了解日历和滚动窗口合规期,请参阅合规期

预览图表

配置 SLO 后,设置 SLO窗格会包含一个预览图表,显示 SLO 如何衡量此服务的历史性能。例如:

已完成的 SLO 会根据历史数据显示图表。

如果您刚刚创建或部署了服务,则可能还没有任何数据。您仍然可以创建 SLO,但无法获得历史分析。

保存 SLO

审核并保存窗格只有一个字段,即 SLO 的显示名称。该字段填有您在定义 SLO 时所选择的默认值,但您可以更改该值,以使显示名称更具描述性。

该窗格还会以 JSON 格式提供 SLO 的预览。JSON 块总结了您的 SLO,可复制 JSON 块以与 serviceLevelObjectives.create 方法搭配使用。如果您更改了任何 SLO 值,系统会自动更新 JSON 预览。

下面的屏幕截图显示了带有默认名称的字段:

Monitoring 会为您的 SLO 生成默认名称。

如果您对显示名感到满意,请点击创建 SLO

后续步骤

创建 SLO 后,您可以执行以下操作: