本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。
| 运营商产品 | 每服务周期服务可用率不低于99.9% | 衡量服务不可用 | 数据指标从采集到用户可查询的延时 |
|---|---|---|---|
| 阿里云TSDB[1] | ✅ | 当某一分钟内,客户所有试图与指定的云数据库实例建立连接的连续尝试均失败,则视为该分钟内该云数据库实例服务不可用。 在一个服务周期内云数据库实例不可用分钟数之和即服务不可用分钟数。 | |
| 金山云influxdb[2] | ✅ | 当客户所有试图与指定的单个InfluxDB实例建立连接的尝试均失败,且该状态持续一分钟或更长时间则视为该InfluxDB实例服务不可用。 | |
| 天翼云influx[3] | ✅ | 指依照时序数据库Influx版服务系统中日志记录,因天翼云原因时序数据库Influx版实例连续超过五分钟无法访问,低于五分钟的不可用时间不计算在内 | |
| TDengine[4] | ✅ | 没在公开页面找到 | |
| Lindorm[5] | ✅ | 一个计费月内,您的服务中所有运行实例均无法与外部连接或无法运行的总分钟数。 | |
| Amazon CloudWatch [6] | ✅ | 对于 Amazon CloudWatch Metrics API 调用和 Amazon CloudWatch Logs Data Ingestion API 调用,此类功能处理的请求在 5 分钟时间间隔内因服务器错误而失败的百分比;以及对于 Amazon CloudWatch Alarms,5 分钟时间间隔内 Amazon CloudWatch Alarms 未处理的规则百分比。 | 并没有规定在SLA中[7]![]() |
| 百度云TSDB[8] | ✅ | 当用户所有试图与指定的TSDB实例建立连接的连续尝试均失败,且状态持续超过5分钟以上,则视为该分钟内该TSDB实例服务不可用。 在一个服务周期内TSDB实例不可用分钟数之和即服务不可用分钟数 | |
| 腾讯云数据库[9] | 99.95% | 当某一分钟内,客户所有试图与指定的云数据库实例建立连接或者读写请求连续尝试均失败,且该状态持续1分钟以上,则视为该分钟内该云数据库实例服务不可用。 | |
| GaussDB NoSQL (GaussDB NoSQL)[10] | ✅ | 指依照云数据库GaussDB NoSQL系统中日志记录,因华为云原因导致云数据库GaussDB NoSQL实例连续超过五分钟无法访问的情形,不超过五分钟的不可用时间不计算在内。 | |
| influxdb cloud 2.0[11] | ✅ | 通过 InfluxDB API 发起的任何读取、写入、任务或管理操作,“不可用”表示在一分钟间隔内对服务的所有连续请求均失败并返回 5xx 错误代码。“不可用”具有相应的含义 | |
| influxdb cloud 3.0[12] | ✅ | 通过 InfluxDB API 发起的任何读取、写入、任务或管理操作,不可用”是指在一分钟间隔内对服务的所有连续请求均失败并返回 5xx 错误代码 | |
| Amazon Timestream[13] | 99.99% | “不可用”和“不可用”是指所有时间流请求在 5 分钟间隔内响应错误。“错误”是指返回 500 或 503 错误代码的任何请求 |
读者首先应该理解Service Level Objective,Service Level Agreement,Service Level Indicator之间的区别。
事实上在我看来SLO和SLA是偏向交付的概念,更关心系统的整体运作水平,而对于日常的运营工作,我们更关注SLI的健康情况;其次因为SLA与钱挂钩,相对来讲厂商不会激进的设定SLA,并会附加上严苛的免责条款,但是对于日常运营,在出现意外情况是我们仍然应该准确的获取SLI的值,以此发现,分析并解决问题。
KV系统模型,链路均较为简单,且约束明确(存在时延,可用性,一致性约束),我们可以设定如下指标作为内部人员分析问题的指标水平:
但是时序系统并不一样:
暂且不考虑技术,站在用户的角度我认为只有两点较为重要:
站在开发的角度则需要更为细致的指标,简单来讲如果我运营一个时序数据库系统,如何能够衡量健康情况,如何快速发现问题:
事实上这样决策的原因有这么几点:
当然还有用于大盘数据展示集群整体趋势的监控数据指标,这个不再细谈,大体思路就是cluster,pod,account,database,account,partition,measurement级别的数据分析;kafka本身topic/partition的待commit数,生产速度,消费速度等。
当然本篇文章只讨论读写;CQ,降采样,流计算的SLI我们不讨论,但是链路和指标本身也都很有考量的余地。
工作已经一年多了,从COS索引层到云原生多模数据库,愈来愈发觉监控体系和运营手段之于一个云数据库系统的重要程度,运营的能力和工具自动化也是各大厂商雄厚能力的体现,当然也是工程师综合素质提升必须要过的一关,不会运营永远不能有底气的说自己做过存储和DB。
参考: