Slo

SLO (Service-level objectives) #

服务水平目标(SLO)是由SLI测量的服务水平的目标值或值范围。它定义了服务用户可以期望的最低可靠性级别。

Service-level agreement(SLA) 表示服务提供方与客户间的协议/合同。这里服务通常指 IT 服务,合同规定服务方交付的服务需要达到怎样的要求

而这些具体的要求譬如软件性能,响应时间,稳定性,质量等,则由每一条对应的 SLA 来描述,例如:

  • HTTP请求的成功率
  • 低于特定延迟阈值的请求百分比
  • 服务可用的时间比例
  • 以某种方式描述服务状态的任何其他指标

SLO 是 SLA 的集合,它将各个具体要求整合,归纳为一个对服务质量的更贴切的描述,SLO的一个重要方面是对其进行解释的时期。可以为滚动期或日历窗口定义SLO。通常,SLO是指更长的期限,例如一个月或4个星期

SLO的重要指标中无论是 HTTP请求的成功率低于特定延迟阈值的请求百分比还是服务可用的时间比例 都离不开流量监控的支持。

SolarMesh可以为SLO的监控提供支持,而SLO组件为SolarMesh提供纳入服务网格范围的服务的质量标准,以此为纳入服务网格范围的服务的质量优化提供指引

安装SLO组件 #

使用solarctl安装slo

solarctl的安装见 快速开始/安装->获取solarctl

solarctl install slo

安装成功之后,进入service详情页面,可以发现服务质量的功能已经开通

服务质量

使用SLO组件增强SolarMesh #

SLO组件负责测量服务质量,在期望池中可以设置我们对当前服务的预期,也就是一条SLA,这里我们设置预期当前reviews服务的平均响应时间在100ms以内,采集频率是每5分钟采集一次,每次采集连续的5分钟。

服务质量-期望池

系统在保存配置之后会对当前服务的指标进行检测,若不满足指标时会记录在事件中并通过webhook的形式发送一个POST请求到事先配置的URLs

服务质量-期望池1