New Relic性能监控(一)概览

2018-04-12 琅琊书生

本系列文章基于公司使用New Relic的经验,鉴于国内较少有这方面的文章,因此把我工作中了解到的知识分享给大家,希望可以给需要的朋友带来帮助。

越来越多的软件产品正在以服务的方式发布。当应用上线后,我们希望对产品有持续的监控,在客户发现问题之前,能够感知系统的运行状态,健康状况,性能表现,以便快速应对系统故障,为客户提供持续不断的优质服务。New Relic的产品为解决这一问题提供了完整的解决方案。New Relic提供了端到端的监控能力,从前端页面性能,到后台服务端的响应速度,都有非常详尽的监控数据。

New Relic的监控平台组成

New Relic的监控产品覆盖了Web产品的整个技术栈。下图为其产品组成。

图 1: New Relic的产品组成

New Relic监控类别

  1. 浏览器端监控(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的数据分析功能

  1. 统一的数据分析平台(Insight)

    在所有的数据之上,New Relic提供了一个统一的数据分析平台。用户可以利用该平台综合分析来自前端,服务端和基础架构端的数据,定位系统瓶颈,排查错误。该平台还提供了自己的查询语言NRQL,并且支持自定义的网页展示组件,达到数据可视化的目的,让用户能更直观的了解被监控产品的状况。

  2. 数据集成(Integration)

    New Relic支持收集自定义的数据,使得用户可以添加自己的属性并用于数据分析之中。同时,New Relic也提供了与云平台的数据集成能力,比如AWS,MS Azure等。用户可以在统一的平台里从多个维度分析数据,寻找有价值的信息。

  3. 仪表盘(Dashboard UI)

    New Relic提供了易用的Dashboard UI,使得所有的监控数据能够很好的展示出来,用户能够非常直观的查看各种性能曲线。

  4. REST API

    New Relic提供了完整的API帮助客户查询和添加数据,使得该平台对运维人员非常友好。

总结

在我们使用过程中,New Relic的完整功能满足了我们各方面的需求,总体来讲是一款非常优秀的监控产品。在后续的文章中,我将分别介绍各产品的具体功能特性,以使得大家能有更深入的了解。

New Relic性能监控(一)概览的更多相关文章

  1. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...

  2. Go 程序的性能监控与分析 pprof

    你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?是否尝试理解过为什么在程序中增加了并发,但并没有给它带来更好的性能?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有 ...

  3. Android网络性能监控方案

    阿里云 云原生应用研发平台EMAS 刘宝文(木睿) 背景 移动互联网时代,移动端极大部分业务都需要通过App和Server之间的数据交互来实现,所以大部分App提供的业务功能都需要使用网络请求.如果因 ...

  4. 应用性能监控:SkyWalking

    目录 SkyWalking 简介 SkyWalking 搭建 平台后端(Backend) 平台前端(UI) Java Agent(Java 应用监控) Java Agent 下载 Java 演练项目 ...

  5. jvm系列(五):tomcat性能调优和性能监控(visualvm)

    tomcat服务器优化 1.JDK内存优化 根据服务器物理内容情况配置相关参数优化tomcat性能.当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃.因此一般建议堆的最 ...

  6. spring拦截器 实现应用之性能监控

    package cn.ximi.erp.web.common.interceptors; import cn.ximi.core.common.utils.string.StringUtil; imp ...

  7. Performance Monitor1:开始性能监控

    Performance Monitor是Windows内置的一个可视化监控工具,能够在OS级别上实时记录系统资源的使用情况,通过收集和存储日志数据,在SQL Server发生异常时,能够还原系统当时的 ...

  8. 前端性能监控方案window.performance 调研(转)

    1. 业界案例 目前前端性能监控系统大致为分两类:以GA为代表的代码监控和以webpagetest为代表的工具监控. 代码监控依托于js代码并部署到需监控的页面,手动计算时间差或者使用浏览器的的API ...

  9. Apache服务器性能监控

    Apache服务器性能监控 1.使用自带mod_status模块监控 1)加载mod_status.so 模块 在httpd.conf中打开LoadModule status_module modul ...

随机推荐

  1. 【Android Studio安装部署系列】十三、Android studio添加和删除Module 2

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 新建.导入.删除Module是常见的操作,这里简单介绍下. 新建Module File——New——New Module... 选中 ...

  2. Cors 跨域 共享

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...

  3. STL关联容器值hashtable

    hashtable(散列表)是一种数据结构,在元素的插入,删除,搜索操作上具有常数平均时间复杂度O(1); hashtable名词 散列函数:负责将某一元素映射为索引. 碰撞(collision):不 ...

  4. Postman—上个接口返回数据作为下个接口入参

    //将数据解析成json格式 var data=JSON.parse(responseBody); //获取totalRentPrice值 var totalRentPrice=jsonData.da ...

  5. [Python3 练习] 006 汉诺塔2 非递归解法

    题目:汉诺塔 II 接上一篇 [Python3 练习] 005 汉诺塔1 递归解法 这次不使用递归 不限定层数 (1) 解决方式 利用"二进制" (2) 具体说明 统一起见 我把左 ...

  6. [BZOJ1492] [NOI2007] 货币兑换Cash(cdq分治+斜率优化)

    [BZOJ1492] [NOI2007] 货币兑换Cash(cdq分治+斜率优化) 题面 分析 dp方程推导 显然,必然存在一种最优的买卖方案满足:每次买进操作使用完所有的人民币:每次卖出操作卖出所有 ...

  7. BZOJ 4552(二分+线段树+思维)

    题面 传送门 分析 此题是道好题! 首先要跳出思维定势,不是去想如何用数据结构去直接维护排序过程,而是尝试二分a[p]的值 设二分a[p]的值为x 我们将大于x的数标记为1,小于等于x的数标记为0 则 ...

  8. A*(A_star)搜索总结

    \(A^*(A star)\)搜索总结 标签:算法--搜索 阅读体验:https://zybuluo.com/Junlier/note/1299772 定义 先复制一则定义 \(A^*\)算法在人工智 ...

  9. 两种方法删除ArrayList里反复元素

    方法一: /** List order not maintained **/ public static void removeDuplicate(ArrayList arlList) { HashS ...

  10. SSM商城系统开发笔记-问题01-通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。

    配置搭建完后进行Post请求测试时报错: Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 29; cvc ...