在ASM中为应用服务启用SLO(2):服务网格中的SLO定义

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 阿里云服务网格ASM提供了生成服务等级目标SLO以及配套的告警规则的能力,能够通过自定义资源CRD配置的方式简化这一流程。本文将介绍对应的CRD具体字段内容含义。

阿里云服务网格ASM提供了生成服务等级目标SLO以及配套的告警规则的能力,能够通过自定义资源CRD配置的方式简化这一流程。本文将介绍对应的CRD具体字段内容含义。


系列文章:

在ASM中为应用服务启用SLO(1):服务等级目标SLO概览

https://developer.aliyun.com/article/1114965

在ASM中为应用服务启用SLO(2):服务网格中的SLO定义

https://developer.aliyun.com/article/1115135

在ASM中为应用服务启用SLO(3):使用ASM定义应用服务级SLO

https://developer.aliyun.com/article/1115152

在ASM中为应用服务启用SLO(4):导入生成的规则到Prometheus中执行SLO

https://developer.aliyun.com/article/1115171

在ASM中为应用服务启用SLO(5):使用Grafana查看SLO

https://developer.aliyun.com/article/1115187


示例文件

以下示例配置将为default命名空间下的httpbin服务生成服务等级目标SLO,目标值为99.9%,持续时间为30天,配置Page和Ticket两个等级的告警,并添加了自定义标签和注解。


apiVersion: istio.alibabacloud.com/v1beta1
kind: ServiceLevelObjective
metadata:  name: asm-slo-default-httpbin
  namespace: default # 自定义资源的命名空间spec:  service: httpbin # 目标服务名  period: 30d # slo持续时间  labels:    owner: "finance-team"  slos:  - name: asm-slo2 # slo名称    objective: "99.9"# 目标值    labels:      description: "service availability description"    sli:      plugin:        id: availability # 使用的插件类型        options: # 插件选项          filter: request_protocol="http"    alerting:      name: asm-alert # 告警规则名称      labels:        category: "availability"      annotations:        summary: "High error rate on requests"      pageAlert:        labels:          severity: "10"      ticketAlert:        labels:          channel: "channel - call"

在自定义配置文件时,需要重点关注以下字段:

  • namespace: 自定义资源的命名空间,即目标服务的命名空间
  • service: 目标服务的名称
  • period:slo持续时间,只能为30d, 28d, 14d或者7d
  • objective: 目标值
  • plugin:id按照需要的slo类型填写对应插件类型,options填写对应插件选项(没有可不填)

其他字段请参考下方的字段详解进行填写



CRD定义详解

参考以下表格中各字段代表的含义:

Metadata字段定义

名称

类型

必填

描述

示例

name

string

名称,格式为:"asm-slo-{目标服务所在命名空间}-{目标服务名}"

asm-slo-default-httpbin

namespace

string

自定义资源的命名空间,应与目标服务的命名空间相同

default

labels

object

无需手动填写,会自动填充两个字段值供标签选择器使用

  • asm-target-namespace:目标服务所在命名空间
  • asm-target-service:目标服务名, 对应Spec下的service字段值

labels:

asm-target-namespace: default

asm-target-service: httpbin



Spec字段定义

名称

类型

必填

描述

示例

period

string


只能为30d, 28d, 14d或者7d

30d

service

string


目标服务名

httpbin

labels

object


全局标签设置,slos字段中配置的每个slo生成的recording rules的labes字段中都会包含此处的标签

labels:
global: "some-label"

slos

array, Slo类型


需要设置的slo数组,至少需要配置一个slo



Slo字段定义


名称

类型

必填

描述

示例

name

string


slo的名称

asm-slo

objective

string


字符串格式表示的slo的目标值,需要能够解析成一个0-100之间的浮点数

"99.9"

labels

object


slo标签,此处配置的标签会附加到本slo生成的每一条recording rules的labels字段中

labels:
recordlabel: aaa

sli

object, Sli类型


选择所需的SLI类型

alerting

object, Alerting类型


配置告警规则


Sli字段定义


名称

类型

必填

描述

示例

plugin

object, Plugin类型


sli插件配置



Plugin字段定义


名称

类型

必填

描述

示例

id

string


插件id,目前可以选择
availability:服务可用性slo插件
latency:服务延迟slo插件

latency

options

map

否(如果options中包含必填字段则为必填)

插件选项,不同插件需要配置不同的插件选项,当选择的插件options中包含必填项时必须填写

options:
bucket: "300"


当id为availability时options的字段可以包括如下:


名称

类型

必填

描述

示例

filter

string


Prometheus标签过滤器,用法与promQL相同,设置后只计算包含指定标签的指标

request_protocol="http"


当id为latency时options的字段可以包括如下:


名称

类型

必填

描述

示例

bucket

string


字符串格式表示的期望满足的目标延迟,需要能够直接转换成一个整数

"300"

filter

string


Prometheus标签过滤器,用法与promQL相同,设置后只计算包含指定标签的指标

request_protocol="http"

exclude_errors

bool


过滤错误请求,默认为false。开启后响应码为5xx的请求将不会纳入延迟计算。

false


Alerting字段定义


名称

类型

必填

描述

示例

name

string


告警规则名称

asm-alert

labels

map


告警规则标签

labels:
alertlabel: bbb

annotations

map


告警的注释信息

annotations:
alertanno: ccc

pageAlert

object


page级别的告警配置,严重程度相对较高


ticketAlert

object


ticket级别的告警配置,严重程度相对较轻



PageAlert字段定义


名称

类型

必填

描述

示例

disable

bool


是否开启此告警,默认开启

false

labels

map


告警规则标签

labels:
pagelabel: ddd

annotations

map


告警的注释信息

annotations:
pageanno: eee


TicketAlert字段定义


名称

类型

必填

描述

示例

disable

bool


是否开启此告警,默认开启

false

labels

map


告警规则标签

labels:
pagelabel: ddd

annotations

map


告警的注释信息

annotations:
pageanno: eee



相关文章
|
9月前
|
运维 Kubernetes Cloud Native
服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践
通过本文介绍丽迅物流关于基于阿里云服务网格 ASM 如何加速企业业务云原生化进程的实践经验。
|
11月前
阿里云服务网格 ASM 2023 年 5 月产品动态
阿里云服务网格 ASM 2023 年 5 月产品动态
|
12月前
|
负载均衡 测试技术 数据处理
阿里云服务网格ASM的流量标签及路由功能之(4): 基于ASM实现全链路灰度发布
当您需要在多个服务间实现全链路的灰度发布时,可以通过配置TrafficLabel来识别流量特征,将网关入口流量分为正常流量和灰度流量。灰度流量特征会在请求调用链经过的各个服务间进行传递,从而实现全链路灰度发布。本文介绍如何通过TrafficLabel能力来实现微服务的全链路灰度发布。
369 0
阿里云服务网格ASM的流量标签及路由功能之(4): 基于ASM实现全链路灰度发布
|
12月前
|
存储 数据处理 Perl
阿里云服务网格ASM的流量标签及路由功能之(1): 流量标签定义
服务网格ASM新增扩展了流量标签TrafficLabel 自定义资源CRD。 通过该CRD定义具体的流量标签逻辑,实现为命名空间、工作负载进行设置流量标签。
506 0
阿里云服务网格ASM的流量标签及路由功能之(1): 流量标签定义
|
12月前
阿里云服务网格 ASM 2023 年 4 月产品动态
阿里云服务网格 ASM 2023 年 4 月产品动态
阿里云服务网格 ASM 2023 年 3 月产品动态
阿里云服务网格 ASM 2023 年 3 月产品动态
阿里云服务网格 ASM 2023 年 3 月产品动态
阿里云服务网格 ASM 2023 年 2 月产品动态
阿里云服务网格 ASM 2023 年 2 月产品动态
阿里云服务网格 ASM 2023 年 2 月产品动态
阿里云服务网格 ASM 2023 年 1 月产品动态
阿里云服务网格 ASM 2023 年 1 月产品动态来啦
阿里云服务网格 ASM 2023 年 1 月产品动态
|
3月前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
35 2
|
3月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例