IT系统运维监控--被动式旁路监控

 个人研究心得

1、 各种监控方式:

Ø  Zabbix和Nagios等监控软件,主要通过SNMP和Agent等,对网络设备的性能、连通性和可用性进行监控,但没有监控应用程序的响应时间等,IT人员和管理人员很难快速定位网络延时等问题。

Ø  微服务跟踪框架,基于Agent、埋点及现有日志系统实现的,目前有京东Hydra、阿里 鹰眼、Google Dapper和Twiter Zipkin等,能够对微服务的整个流程中的应用程序响应时间、QPS等进行较完整的监控;据了解目前目标公司基本还没实施微服务架构。

Ø  ARM(Application Response Measurement)标准方法,应用程序需要修改,事务单元开始前和结束后都要调用ARM的接口方法,能做到精确监控,但同样对应用程序有侵入。

Ø  主动监测,在客户端“模仿”用户正常使用应用程序,实施复杂,不断的重复会占用网络设备带宽和服务器的性能。

Ø  被动监测,接入一个非侵入式的设备进行监测实际的应用流量。服务器端的被动式监测能对所有时间、所有用户和所有交易监测的能力。设备可以是在线型的和旁路型的,在线型的类似于路由器让数据通过的设备,但可能会成为额外的故障点,而旁路型不会因为本身的故障而造成额外影响。

2、 旁路监控系统—优势与效益

1、 Zabbix和Nagios等系统监控软件,属于传统系统监控,负责监控系统是否可用,主要是通过探测应用程序端口、SNMP和Ping方式来监测应用服务器和网络的性能及可用性。这些监控对于IT管理非常必须也非常有效,但是没有监控到用户的应用程序响应时间;此外,IT人员也很难快速定位“系统性能下降”问题,应用程序出现性能问题,经常会动用IT的各个团队,包括网络管理员、服务器管理员、应用程序开发人员和数据库管理人员一起分析查找原因,并且很多时候,很难分析清楚是网络原因、服务器还是应用程序引起的,浪费了IT人员的时间,也延迟了用户问题的解决时间,最终也得不到用户认可。

2、 微服务跟踪框架,基于Agent、埋点及现有日志系统实现的监测,能对应用程序响应时间、QPS和服务调用关系等进行较完整的监控和面板展现。但对于原有应用程序有较大的侵入,例如对原有系统的微服务化改造,如果已是微服务架构,则可以通过切面方式实现较低的侵入。基于日志Agent的方式会有时延(依赖于配置参数),且每台服务器都要部署日志采集客户端,会占用一部分服务器带宽和性能,一般配合异步消息队列和NOSQL,实施比较复杂,且无法监控中间件和网络等性能。

3、 旁路监控系统,通过接入一个非侵入式的设备进行监测,能在不改造原有系统下实现准实时,不占用生产环节资源,对所有时间、所有用户和所有交易进行监测的能力。通过这套系统能建立一套有效的监控系统,对IT的各个系统进行监测,可以把IT监控划分为网络监控、服务器监控、数据库监控和应用程序监控等;实现对企业的业务应用进行监测和优化,提高企业应用的可靠性和质量,保证用户得到良好的体验,降低IT总拥有成本(TCO)。


 

你可能感兴趣的:(IT系统运维监控--被动式旁路监控)