监控统计
监控统计界面入口
控制台->结构化存储->下图中的“统计监控”按钮
监控统计指标
监控统计支持观测表的各项指标,目前支持(监控界面从上至下):
- 允许读/拒绝读
- 允许写/拒绝写
- 操作成功/操作失败
- 读吞吐/读延迟
- 写吞吐/写延迟
- 增量吞吐/增量延迟
- 删除吞吐/删除延迟
- 扫描吞吐/扫描延迟
- 批处理吞吐/批处理延迟
监控统计单位 SDS的“监控统计”采用的是指数加权移动平均法(EWMA),目前有一下两种数据:
- 最近一分钟速率:事件在最近一分钟内发生的速率。例如:最近一分钟速率8.629,表示某事件最近一分钟内有8.629次/秒的速率
- 99分位延时:单位秒。在所有的延迟操作里,有99%的操作少于该延时。例如:在本系统的统计工具下100次操作,99次10s,1次300s,则对应分位延时近似值如下表所示:
分位 | 数值 |
---|---|
p75 | 10.00s |
p95 | 10.00s |
p98 | 10.00s |
p99 | 297.10s(工具统计的近似值) |
p999 | 300.00s |
示例
允许读/允许写/拒绝读/拒绝写 定义
- 允许读最近一分钟速率:记录最近一分钟内平均读的速率
- 拒绝读最近一分钟速率:记录最近一分钟内平均被服务器拒绝读的速率
举例 图中的数据可以理解为,在03-18 14:44这个时间点的最近一分钟内,当前表的读操作为1.0352169次/秒,被服务器拒绝的读操作请求的速率为0.024426次/秒。
限流的判断 如图中数据可以很好判断,当前读quota已经超出了预置的quota,存在限流的情况,任何拒绝读和拒绝写都是存在限流的表现
监控统计api(实验)
注意1:本功能处于实验阶段,支持不完善,具体使用方法请自行摸索
注意2:本接口不能实时保证处于可用状态,SDS的服务可用性不包括本功能
注意3:为防止本功能滥用造成服务器负担,限制接口每秒访问30次,(每个table的每个指标算1次)
在admin操作的client中可以使用queryMetric或者queryMetrics抓取监控指标,java代码示例如下:
MetricQueryRequest queryRequest=new MetricQueryRequest();
queryRequest.setTableName("YourTableName");
queryRequest.setStartTime(startTimestampInSeconds);
queryRequest.setStopTime(stopTimestampInSeconds);
...
...
...
queryRequest.setMetricKey(MetricKey.SCAN_LATENCY);
adminClient.queryMetric(queryRequest);