指标型数据监控
指标采集概述
在上节的监控系统分类中,我们说指标数据是监控系统判断运行状态的一个重要数据来源,这里的指标是在时间维度上捕获的与系统相关的值。这个指标值按照不同的层次,可以进一步分类。
● 基础类型指标:包括CPU、内存、网络、I/O等,基于JVM系统的应用,也可以把JVM的内存回收状态、堆栈等资源占用状态的指标纳入这一类型指标。基础类型指标通常可以从宏观的视角描述当前应用所属容器或者运行环境的基本状态。
● 应用服务类型指标:指服务的运行状态指标。前文我们说的服务延迟、流量吞吐、错误和饱和度即“黄金四指标”,线程个数、队列积压情况等数据都属于应用服务类型指标。因为服务指标最贴近应用服务本身,所以应用服务类型指标可以直观地反映当前服务的运行状态,也是开发运维人员排查异常状态和定位应用错误时的主要判断依据。
● 业务定制化指标:上述两类指标是比较通用的指标类型,然而很多业务需要定制化的指标来衡量某一个业务特性。例如上节中提到的通过“存量指标”衡量不同阶段、不同门店的一个业务运营状态。而这个指标的采集需要我们手动在代码的
指定位置埋点,在采集指标数据后上报到监控服务器中心。
下面介绍在监控指标方面有哪些主要的采集方式。
系统指标采集方式
Linux系统自带的命令工具是采集基础类型指标的主要方式,通过Linux系统命令可以发现服务器资源的性能瓶颈和资源占用情况。
● iostat:监控磁盘I/O情况。● meminfo:查看内核使用内存情况的各种信息。
● mpstat:实时系统监控工具,能查看所有CPU的平均状况信息。
● netstat:显示了大量与网络相关的信息。
● nmon:监控Linux系统的性能、下载及安装。
● pmap:报