GCP中能否为产品/服务设置多位小数的Service Level Objective(SLO)
GCP中设置多位小数的Service Level Objective(SLO)方法
可以在GCP中设置小数位数超过一位的SLO,比如99.99%或99.999%,你当前只能设置到99.9%大概率是因为使用了控制台可视化界面的限制,通过以下两种方式可以实现更精确的SLO配置:
使用gcloud命令行工具:直接通过命令指定精确的SLO数值,比如创建一个99.99%可用性的SLO,示例命令如下:
gcloud alpha monitoring services slo create \ --service=YOUR_SERVICE_NAME \ --display-name="99.99% Availability SLO" \ --goal=0.9999 \ --availability \ --time-window=30d \ --good-traffic-filter='metric.type="serviceruntime.googleapis.com/api/request_count" AND metric.labels.response_code_class="2xx"'注意:
--goal参数直接传入小数形式的目标值(比如0.9999对应99.99%,0.99999对应99.999%),不受控制台的位数限制。通过Cloud Monitoring API配置:调用Monitoring API的
slo.create接口,在请求体中指定goal字段为精确的小数数值,示例请求体结构如下:{ "displayName": "99.999% Availability SLO", "goal": 0.99999, "serviceLevelIndicator": { "availability": { "goodRatio": { "goodTotalRatio": { "goodFilter": 'metric.type="serviceruntime.googleapis.com/api/request_count" AND metric.labels.response_code_class="2xx"', "totalFilter": 'metric.type="serviceruntime.googleapis.com/api/request_count"' } } } }, "rollingPeriod": "2592000s" // 对应30天 }这种方式完全自定义配置,支持任意精度的目标值(只要在0到1之间)。
配置完成后,无论是命令行还是API创建的SLO,都会在GCP控制台的Cloud Monitoring界面中正常显示完整的百分比数值(比如99.99%),可以正常查看SLO的达标情况和相关指标。
内容的提问来源于stack exchange,提问作者Chris McQuirk
相关产品推荐
相关产品推荐

