分布式系统的可观测性
时间:2022-04-12 09:48:01 | 来源:行业动态
时间:2022-04-12 09:48:01 来源:行业动态
分布式系统可观测性需要去集中解决3个类型的监控数据,即Metrics、Tracing和 Logging。分别代表Prometheus监控的指标数据,比如说CPU内存、流量大小等等;第二类Tracing数据,也可以说服务调用栈的数据;第三类是日志数据,比如ELK里的日志分析。二、三类数据关联度会大一些,是每一个请求或每一条日志的数据。
Metrics通常是实现分布式系统可观测性的第一步。它是一个可聚合、可设置报警,面向大规模监控数据做分析和告警判断,针对Metrics通常会关注四个方面的指标量:
1、时延
它刻画的是当前的业务系统的访问是否顺畅、耗费的时间是否在增加。例如从四层网络的角度看,有三次握手、协议栈响应的时延;从应用的角度看,有HTTP响应、DNS响应的时延。
2、流量
系统的吞吐。例如一个应用系统的BPS、PPS是多少?新建连接数、新建连接速率是多少?HTTP的请求数是多少等等。
3、错误
错误可能发生在网络层,比如TCP建连失败、重置、重传等,还可能会发生在应用层,比如HTTP的400、500等错误,或者是DNS解析失败。
4、负载
一般来讲是对计算和存储资源的描绘,在虚拟网络情况下也可以描述虚拟交换机的负载。网络层面的负载主要体现在并发连接数、当前正在活跃的用户数等指标。
对网络的指标监控通常要考虑以上4个方面,这4个方面能够覆盖一个分布式系统所有的角落,最终实现分布式系统的可观测。