高并发系统设计学习笔记(二十八) 系统服务端监控

目录

一、监控指标如何选择

二、监控数据的采集、处理和存储


一、监控指标如何选择

四个黄金信号(Four Golden Signals)。它指的是在服务层面一般需要监控四个指标,分别是延迟、通信量、错误和饱和度

  • 延迟指的是请求的响应时间。比如接口的响应时间、访问数据库和缓存的响应时间。
  • 通信量可以理解为吞吐量,也就是单位时间内请求量的大小。比如访问第三方服务的请求量,访问消息队列的请求量
  • 错误表示当前系统发生的错误数量这里需要注意的是, 我们需要监控的错误既有显式的,比如在监控Web服务时,出现4 * *和 5 * *的响应码;也有隐式的,比如Web服务虽然返回的响应码是200,但是却发生了一些和业务相关的错误(出现了数组越界的异常或者空指针异常等),这些都是错误的范畴。
  • 饱和度指的是服务或者资源到达上限的程度(也可以说是服务或者资源的利用率),比如CPU的使用率、内存使用率、磁盘使用率、缓存数据库的连接数等等


二、监控数据的采集、处理和存储

一些流式处理的中间件,比如Spark、Storm。它们从消息队列里接收数据后会做一些处理,这些处理包括

  • 解析数据格式,尤其是日志格式。从里面提取诸如请求量、响应时间、请求URL等数据
  • 对数据做一些聚合运算。比如,针对Tomcat访问日志,可以计算同一个URL一段时间之内的请求量、响应时间分位值、非200请求量的大小等等。
  • 将数据存储在时间序列数据库中。这类数据库的特点是,可以对带有时间标签的数据做更有效的存储,而我们的监控数据恰恰带有时间标签,并且按照时间递增,非常适合存储在时间序列数据库中。目前业界比较常用的时序数据库有 InfluxDB、OpenTSDB、Graphite,各大厂的选择均有不同,你可以选择一种熟悉的来使用。
  • 最后,你就可以通过Grafana来连接时序数据库,将监控数据绘制成报表,呈现给开发和运维的同学了。

 1. 访问趋势报表。 这类报表接入的是Web服务器,和应用服务器的访问日志,展示了服务整体的访问量、响应时间情况、错误数量、带宽等信息。它主要反映的是服务的整体运行情况,帮助你来发现问题。

2. 性能报表。 这类报表对接的是资源和依赖服务的埋点数据,展示了被埋点资源的访问量和响应时间情况。它反映了资源的整体运行情况,当你从访问趋势报表发现问题后,可以先从性能报表中,找到究竟是哪一个资源或者服务出现了问题。

3. 资源报表。 这类报表主要对接的是,使用Agent采集的资源的运行情况数据。当你从性能报表中,发现某一个资源出现了问题,那么就可以进一步从这个报表中,发现资源究竟出现了什么问题,是连接数异常增高还是缓存命中率下降。这样可以进一步帮你分析问题的根源,找到解决问题的方案。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值