一般可分为四类:
如何搭建监控系统,来完成上面这些监控功能呢?
监控系统主要包括四个环节:
有如下方式:
无论哪种,首先要考虑采样率,即采集数据的频率。采样率越高,监控实时性就越高,精确度越高。但采样对系统性能也会有影响,尤其是采集后的数据需写到本地磁盘时,过高采样率会导致写入磁盘的I/O过高,影响正常服务调用。 所以设置合理采用率是关键,最好可动态控制采样率
常用方式如下:
无论哪种,数据格式都十分重要,尤其是对带宽敏感以及解析性能要求比较高的场景,一般数据传输时采用的数据格式有两种:
文本协议,最常用的就是JSON字符串,它的优点是可读性好,但相比于PB对象,传输占用带宽高,并且解析性能也要差一些。
聚合并存储收集来的原始数据。
数据聚合通常有两个维度:
聚合后数据需持久化到DB,所选用DB一般两种:
把处理后的数据以Dashboard方式展示给用户。
数据展示有多种方式,比如曲线图、饼状图、格子图。
服务监控在微服务改造过程中十分重要,没有强大监控能力,就无法掌控各个不同服务的情况,在遇到调用失败时,如果不能快速发现系统的问题,业务就成了灾难。
参考