企业有了传统监控工具如Zabbix,真的还需要应用性能监控工具(APM)?

本秂侑毒 提交于 2020-02-10 17:30:15

首先我们来重新定义一下APM是什么?

APM网上大部分的资料上全称为Application Performance Management。从名称来看,它的出现,目的来自于运维监控领域对于应用提供服务快慢,用户体验感知的空白。大部分国内外APM产品提供者也主要关注在性能方面。但是运维的最终目标还是保证业务不中断,提高业务稳定性。很多还没有把业务性能纳入管理范围的IT部门会觉得APM有必要吗?APM的核心技术字节码增强技术可以让应用的运行状态和执行状态由线上黑盒转变为白盒,对方法调用,外部服务调用,应用调用关系可视化,这些功能对于故障的发现和定位也有很大的作用。由于IT技术的普及和发展,行业竞争也不仅仅停留在业务有没有、能不能用的这个层次,用户体验或者说性能成为了业务客户粘性的重要指标,因此运维的工作也逐渐包含了用户访问业务比较慢的一些问题处理。很多企业的运维确实也面临到了这部分问题的处理,这部门企业无可置疑可以从APM得到更显而易见的问题的解决。

总结来说,我们认为APM的P应该包含两部分监控:Problem & Performance。非常肯定的是仅有传统监控是不够的。传统运维监控主要包含三个层次:
1、基础设施监控,感知硬件故障、资源使用情况;
2、网络环境监控,感知网络通断、网络设备故障、网络使用状态;
3、应用监控,感知进程存活状态、应用访问情况。


Zabbix因为支持jmx,curl等协议,对于应用情况有涉及,同时Zabbix支持多种采集方式和采集客户端,涵盖SNMP、IPMI、JMX、Telnet、SSH 等多种协议,它对基础设施监控和网络都有涉略,功能非常强大。运维人员可以运用提前定义问题监控点,达到条件会自动触发告警。但是它的强大也主要是在发现问题这个步骤。监控的核心对象是故障,通过故障处理的4个层面:发现故障、定位故障、解决故障、总结故障,最终实现4个9,5个9的业务可靠性。

Zabbix在其他三个层面,特别是对于定位故障的根本原因这方面为什么还不够呢?比如Zabbix发现一个应用连不上的故障出现,网络运维人员看到自己的网络是通的,主机运维人员看到自己的主机资源使用也是正常的,应用运维人员看到应用进程还在,似乎都没问题,但问题确实存在,大家都不知道如何去处理,没有任何头绪去找到产生这个故障的根本原因。

APM会帮助运维去定位应用内部发生的故障,确实提升了运维对其管理核心业务的了解深度,也为应用层面的故障定位提供了分析数据。但是根据报告统计仅仅应用故障只占运维故障的24%。故障表现经常来自业务,比如一个业务访问慢,其根本原因有可能是网络延时的问题,也有可能是主机负载问题。同时报告指出运维处理的线上故障中,需要关联分析的故障往往是比单点故障高的多。

在这里插入图片描述

基于传统APM解决只是很小一部分,所以谐云特地为此推出了的矩阵式应用监控产品,在APM监控的基础上扩展了基础设施、网络设备、网络质量情况、数据库运行情况等层面和应用相关指标。

谐云矩阵式应用监控从纵横两个方向解决监控故障定位难的问题。在纵向矩阵式监控产品通过以APM为核心的多维度关联分析,更好的帮助运维判断是应用本身出问题,还是网络层面出问题,或是因为主机上其他进程占用了主机资源导致其中部分业务出问题。在横向矩阵式监控产品通过业务全链路监控,解决了传统分布式架构或者新的微服务架构带来定位故障混乱的问题。​​​​

点击查看原文
或扫描下方的微信公众号二维码查询
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!