越来越多的软件产品正在以服务的方式发布。当应用上线后,我们希望对产品有持续的监控,在客户发现问题之前,能够感知系统的运行状态,健康状况,性能表现,以便快速应对系统故障,为客户提供持续不断的优质服务。New Relic的产品为解决这一问题提供了完整的解决方案。New Relic提供了端到端的监控能力,从前端页面性能,到后台服务端的响应速度,都有非常详尽的监控数据。
New Relic 是一个很强大的服务器性能监控工具,New Relic目前专注于SaaS和App性能管理业务,它支持支持agent和API传送数据,能够对部署在本地或在云中的web应用程序进行监控、故障修复、诊断、线程分析以及容量计划。
New Relic监控类别
- 浏览器端监控(Customer Experience)
浏览器端监控收集被监控产品在用户的使用过程中产生的各种数据,如页面访问数据,页面加载性能,页面渲染速度等等。在这一类别中,New Relic提供了三个组件。
- New Relic Browser 面向产品最终用户,收集软件产品在前端的用户体验数据,并且提供了会话跟踪,JavaScript错误捕获,浏览器类型检测,用户地理信息收集等能力,使得我们能够详细了解产品在Web端的表现。
- New Relic Synthetics 一般用在测试环境。该产品利用New Relic分布在不同地理位置的服务器,通过自定义的页面访问和检测代码,测试产品在不同地区访问的表现,以便发现问题。
- New Relic Mobile 手机端产品,提供了手机APP使用监控数据。
2. 服务端监控(APM)
- 服务端监控是用来收集Web应用在服务器端的性能数据。该数据和客户端数据能够关联起来,使得分析完整的事物性能成为可能。其原理是利用插入到服务端程序的代理,来收集数据并汇集到New Relic位于全球各地的数据中心。目前支持多达七种编程语言,包括uby,Java, Node.js,PHP,.NET,Python, Go等,很好的覆盖了市面上大部分的Web应用。
3. 基础架构监控(Infrastructure)
- 基础架构监控是一个比较新的产品,其实际上是此前的服务器监控(Server Monitor)的升级替代产品。该产品利用运行在服务器上的监控进程,定期收集系统的性能数据,并汇报至New Relic服务器。所收集的数据极为详尽,包括CPU使用,磁盘IO及使用率,网络吞吐量,活动进程以及各自的CPU占用率等等。
New Relic的数据分析功能
- 统一的数据分析平台(Insight) 在所有的数据之上,New Relic提供了一个统一的数据分析平台。用户可以利用该平台综合分析来自前端,服务端和基础架构端的数据,定位系统瓶颈,排查错误。该平台还提供了自己的查询语言NRQL,并且支持自定义的网页展示组件,达到数据可视化的目的,让用户能更直观的了解被监控产品的状况。
- 数据集成(Integration) New Relic支持收集自定义的数据,使得用户可以添加自己的属性并用于数据分析之中。同时,New Relic也提供了与云平台的数据集成能力,比如AWS,MS Azure等。用户可以在统一的平台里从多个维度分析数据,寻找有价值的信息。
- 仪表盘(Dashboard UI) New Relic提供了易用的Dashboard UI,使得所有的监控数据能够很好的展示出来,用户能够非常直观的查看各种性能曲线。
- REST API New Relic提供了完整的API帮助客户查询和添加数据,使得该平台对运维人员非常友好。