在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



相关文章
|
6月前
|
人工智能 安全 Go
使用阿里云服务网格 ASM LLMProxy 插件保障大模型用户数据安全
本文介绍如何使用ASM LLMProxy动态为LLM请求添加API_KEY、使用模式匹配以及私有大模型判别请求敏感信息并根据判别结果拒绝请求等功能,帮助用户提升LLM场景下的安全水位。
|
6月前
|
负载均衡 Kubernetes 算法
服务网格 ASM 负载均衡算法全面解析
在本文中,笔者将解析服务网格的多种负载均衡算法的实现原理和使用场景,为服务网格负载均衡算法的选择提供参考。
|
运维 Kubernetes Cloud Native
服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践
通过本文介绍丽迅物流关于基于阿里云服务网格 ASM 如何加速企业业务云原生化进程的实践经验。
|
负载均衡 测试技术 数据处理
阿里云服务网格ASM的流量标签及路由功能之(4): 基于ASM实现全链路灰度发布
当您需要在多个服务间实现全链路的灰度发布时,可以通过配置TrafficLabel来识别流量特征,将网关入口流量分为正常流量和灰度流量。灰度流量特征会在请求调用链经过的各个服务间进行传递,从而实现全链路灰度发布。本文介绍如何通过TrafficLabel能力来实现微服务的全链路灰度发布。
431 0
阿里云服务网格ASM的流量标签及路由功能之(4): 基于ASM实现全链路灰度发布
|
存储 数据处理 Perl
阿里云服务网格ASM的流量标签及路由功能之(1): 流量标签定义
服务网格ASM新增扩展了流量标签TrafficLabel 自定义资源CRD。 通过该CRD定义具体的流量标签逻辑,实现为命名空间、工作负载进行设置流量标签。
577 0
阿里云服务网格ASM的流量标签及路由功能之(1): 流量标签定义
阿里云服务网格 ASM 2023 年 5 月产品动态
阿里云服务网格 ASM 2023 年 5 月产品动态
阿里云服务网格 ASM 2023 年 4 月产品动态
阿里云服务网格 ASM 2023 年 4 月产品动态
|
7月前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
356 2
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
7月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例