更新时间:2023-02-07 16:48:40

服务质量目标(Service Level Objective,SLO)用于定义服务质量指标(Service Level Indicator,SLI)的目标值,目标值明确了服务使用者对服务质量的期望水平。当SLI≥期望目标值时,表示实际服务质量满足服务使用预期。例如:某服务的SLO描述为“过去7天,至少90%的时间里服务是可用的“,则过去7天内的SLI需≥90%,方可达成SLO,即此服务的实际服务质量满足了服务预期

► 相关概念术语:

• 服务质量指标(Service Level Indicator,SLI):指用于衡量服务质量的指标,可在配置 SLI计算方式 中选择测量此服务质量的具体指标(SLI);

• 服务质量目标(Service Level Objective,SLO):用于说明服务质量的预期,可在 配置服务的SLI目标项 中设置服务质量指标(SLI)在不同时间窗口中对应的期望目标值(SLO);

• 错误预算(Error Budget):用于测量实际服务质量与预期服务质量之间的差异,通过配置 剩余错误预算阈值 可实时监控服务质量偏差,降低服务风险。

► 如何为服务配置SLO?

AnyRobot支持对服务进行SLO建模,通过评估SLI在指定服务周期内较目标值的完成情况,可实时监测IT环境各服务的运行情况,帮助及时排查服务不可用风险。下文具体介绍如何为服务配置SLO:

1. 配置服务基本信息

进入服务配置页面后,在服务配置表单的最上方设置基本服务信息,具体配置限制参见下表:

元素名称 元素说明 限制条件
*服务名称 设置服务的名称 ≤32个字符
标签 设置服务的标签标识 最多可支持添加5个标签

2. 配置服务的SLI目标项

在服务配置表单的SLO配置区域,点击【新建目标】在弹出的配置窗口中设置SLI在指定时间窗口内的期望质量目标值,如下所示:

在具体监控场景中,系统将根据此目标值评估实际服务质量是否达成SLO。例如:当时间窗口设为7天、目标值设为80%时,则当此服务在7天内的实际可用时间≥5.6天(7×80%=5.6天)时,实际服务质量方可达成此SLO,满足服务期望。具体参数说明如下:

元素名称 元素说明 限制条件
*时间窗口 设置服务时间周期
  • 时间窗口为 1-365的正整数,单位为天,不得重复;
  • 不支持重复创建。
注:当填写小于1的值时,窗口自动校准为1;填写大于365的值时,自动校准为365。
目标 设置期望达到的服务可用率
  • 目标值取值范围为1-100的正整数,单位为%
注:当填写小于1的值时,窗口自动校准为1; 填写大于100的值时,自动校准为100。

提示:最多可支持添加3个SLO目标项。当完成3个目标项的创建后,【新建目标】按钮处禁用状态,此时可点击操作列中的编辑/删除按钮,修改/删除已有目标项。

3. 配置剩余错误预算阈值

剩余错误预算是指服务周期内剩余可容忍的服务出错程度例如:在时间窗口为7天、目标值为80%,

此SLO的总错误预算=(100%-80%)×7=1.4天,剩余错误预算=1.4天-已用不可用时间(假设为0.4天)=1天。具体含义为此SLO允许实际服务在7天内有1.4天可以处于不可用的状态,剩余的服务不可用时间为1天

点击【+添加阈值段】可自定义错误预算的阈值区间,将时间窗口内剩余的不可用时间映射为对应的SLO严重等级,直观展示SLO的严重性,监控服务质量风险。具体参数说明参见下表:

元素名称 元素说明 限制条件
严重性 表示错误预算对应的SLO严重等级:严重、 高危、 正常

• 默认无SLO严重性;

• 最多可支持添加3个严重等级;

• 同一等级的严重性仅可设置一个阈值区间。

提示:服务健康度分析模块支持对SLO严重性的告警,详情请参阅 新建告警策略 章节。

4. 选择服务SLI的计算方式

AnyRobot支持设置"基于服务可用性”、“基于实体可用性”两种方式计算SLI。您可根据实际需求及服务自身的特性选择不同的方式计算SLI,以更科学、更准确地监控、分析服务质量。不同计算方式的详细说明如下:

  • 方式一:基于服务可用性

此方式下,SLI是对当前服务可用时间的计算,服务SLI的计算结果度量的是当前服务的可用时间较服务总运行时间的占比情况(即SLI=当前服务可用时间总和/服务运行时间总和)。

 影响服务是否可用的关键因素:

服务是否可用取决于指定时间段内的服务健康分数匹配到的严重性等级,可在 定义服务可用性-设置服务严重性等级的阈值区间 中进行匹配区间的配置。而服务健康分数由服务配置表单下方相关配置项(包括依赖的服务、服务KPI)的健康分数加权计算得到。相关配置流程如下图所示:

因此,您在完成表单下方与计算服务健康分数相关参数的配置后,方可在 服务分析器 模块对此服务进行有效监控。否则,此服务的健康状况将处于未知的状态。

  • 方式二:基于实体可用性

实体是IT基础设施的组成部分,可通过匹配规则将单个或多个实体与服务关联,实现对服务质量更灵活、更细粒度的监控(实体的具体配置操作参见 配置服务依赖实体)。

选择“基于实体可用性”来计算服务SLI时,可对服务进行实体粒度的分析、监控。例如:在对三个节点的MySQL服务的监控场景中,可将每个节点定义为一个实体,此时各实体(节点)质量的波动将直接影响到系统对MySQL服务质量的监控结果。

此方式下,服务SLI是对服务依赖的各实体及关键绩效指标(KPI)可用时间的计算,其计算结果度量的是此服务依赖的所有实体,或此服务依赖的所有关键绩效指标(KPI)及其依赖服务下的所有实体可用时间较总运行时间的占比情况。

说明:

1. 影响实体是否可用的关键因素

实体是否可用取决于实体健康分数匹配到的严重性等级(即当实体健康分数属于正常、警告级别时,此实体可用;否则,此实体不可用),可在 配置服务KPI-设置实体KPI严重性等级阈值 中进行配置;而实体健康分数则由服务下各实体的KPI值根据配置的聚合方法计算得出,可在配置服务KPI-KPI计算-实体KPI计算 中完成对应聚合方法的配置。相关配置流程如下图所示:

因此,您在完成表单下方与计算实体健康分数、服务健康分数相关参数的配置后,方可在 服务分析器 模块对此服务进行有效监控,否则,此服务的健康状况将处于未知的状态。

2. 不同场景下服务SLI的计算项说明

选择基于实体可用性计算服务SLI时,SLI的计算项随当前服务依赖项的不同而有所不同,具体如下:

1)若当前服务为实体依赖,则服务SLI=所有实体的可用时间总和/所有实体的运行时间总和;

2)若当前服务为服务依赖,则服务SLI=当前服务依赖服务的所有实体可用时间总和+当前服务依赖的所有KPI可用时间总和/依赖服务所有实体的运行时间总和+依赖KPI的运行时间总和;

3)若当前服务既无实体依赖也无服务依赖,则服务SLI=当前服务依赖KPI的可用时间总和/当前服务依赖KPI的运行时间总和。