为了全面了解系统状态以及用户使用情况,Talos提供了比较完善的Counter系统,Counter系统设计的初衷为了了解以下方面的信息:
系统性能、负载状况;例如latency,qps等
数据存储情况;例如Topic数据量,Partition当前的offset range情况: [start, end]
数据消费情况;例如consumer group消费记录的checkpoint,消费数据堆积情况等
为此,Talos系统提供的Metrics大致分为:
MessageNumber: topic/partition目前的Message条数
此外,对于所有Operation(API),都有Latency和QPS两种Metrics指标,这些指标对应的MetricName举例如下:
API |
MetricName Set |
---|---|
putMessage |
putMessage.Time.75thPercentile |
-- | putMessage.Time.95thPercentile |
-- | putMessage.Time.98thPercentile |
-- | putMessage.Time.999thPercentile |
getMessage |
getMessage.Time.75thPercentile |
-- | getMessage.Time.95thPercentile |
-- | getMessage.Time.98thPercentile |
-- | getMessage.Time.999thPercentile |
注意,所有Percentile的计算取样都是最近5分钟内的数据
API |
MetricName Set |
---|---|
putMessage |
putMessage.60sRate |
-- | putMessage.300sRate |
-- | putMessage.900sRate |
getMessage |
getMessage.60sRate |
-- | getMessage.300sRate |
-- | getMessage.900Rate |
其中,QPS MetricName中的60s/300s/900s指的是计算QPS的时间窗口,最近1分钟的QPS,最近5分钟QPS,最近15分钟的数据
目前报警系统我们正在Web服务化,现支持后台配置,如果用户想要设置上述Metrics的监控报警(邮件/短信),请发邮件到talos-help@xiaomi.com
邮件格式请填写申请表格,如下是一个例子(由于排版原因,把表拆成2个了),如下
Cluster |
TopicName |
MetricName |
Alert-Value |
---|---|---|---|
azbjsrv-talos |
testTopic |
putMessage.Time.95thPercentile |
100ms |
azbjsrv-talos |
testTopic |
ConsumerOffsetLag |
10000 |
Email |
Phone |
ConsumerGroup |
---|---|---|
alert@xiaomi.com |
1877777777 |
无 |
alert@xiaomi.com |
1877777777 |
myConsumerGroupName |