监控系统设计

监控流程

目标

监控维度

单服务单主机

主要监控主机的CPU、内存等数据以及服务所产生的日志

单服务多主机

如果所有主机都发生问题,那么可能是服务的问题

否则如果只是某一主机出现异常,问题定位就比较简单

同时,单一服务部署到多台主机,一般需要负载均衡器来分发请求,所以也要对负载均衡器进行监控

多服务多主机

此时问题定位就没那么容易了,必须收集到足够多的数据

监控范围

监控需要分层级,除了系统层级诸如 CPU 内存之类的数据,同时也要支持在需要时,能深入进程、线程级别的定向监控

方法

嵌入式监控

分离式监控

指标

黄金指标

延迟

通讯量

错误

饱和度

百分比指标

中位值

算数平均值

四分位数

百分25 百分50 百分75

系统指标

响应时间RT

RPS

TPS

QPS

并发用户数

业务指标

监控述求

告警渠道

告警模板

可配置性

告警分级

易用性

综合监控

通常可以对系统一些资源指标进行监控,判断实际值是否超出设定的阈值,但这些数据并不能直接说明服务是否能正常工作

语义监控

通过端到端的测试来监控服务的工作正常与否

标准化

无论是日志的格式,还是工具,都需要标准化

考虑受众

需要对日志的使用者,他们需要知道什么,想要什么以及如何消费数据等考虑清楚