现在上一个项目,如果没有APM监控服务或应用的运行性能参数,等于是一架没有盲降系统的飞机正在盲降,结果会很悲催。出现了访问失效等问题时,都很难判定是性能瓶颈还是一个藏的深的bug,汇报的时候一顿眼晕,这样的结果肯定是要被人分分钟的各种撕。

目前还没有像样的给node.js项目应用的APM开源项目,暂且先羡慕嫉妒下给java用的PinPoint。

不用开源的就用专业的APM提供商的产品,先解决问题,国内有很多专业提供商,也是不错。

国外的New Relic也是被推荐的一家,集成进node.js特别方便,监控功能齐全。

创建APM监控

要使用的话,首先是去首页注册一个账户,注册完后就会显示一个“Get started with New Relic”页面,在里面选择node.js。

然后按照页面上的步骤一步一步配置。

主要过程:

1.记下分配给你的license key。

2.在项目中安装newrelic库。

npm install newrelic --save

3.将node_modules/newrelic下的newrelic.js复制到项目的根目录下,也就是和node_modules同级。

4.配置newrelic.js文件。

/**
* New Relic 客户配置文件.
*
* 参考 lib/config.defaults.js 获得更多的配置.
*/
exports.config = {
/**
* 应用名称数组,就写项目的名字或者喜欢的任意名字
*/
app_name : ['My Application'],
/**
* 你的 New Relic 授权 key
*/
license_key : 'license key here',
logging : {
/**
* 日志等级. 'trace' 对于 New Relic 诊断问题时是最有用的
* 'info' 级别以及更高的应该应用于生产应用
*/
level : 'info'
}
};

5.在启动脚本的第一行加入代码

require('newrelic');

6.点击“listening your application”,开始监听应用并收数据。

7.运行项目,5分钟后,进到你的APM控制台中,会看到一个已application name命名的监控项,进去即能看到该项目的性能监控数据表。

常用

因为是免费版,只能看24小时的数据,想延长时间和一些高级功能就是付费版的节奏了。

最常用的就是“Overview”概况页面。

其中:

Web transactions time:这里能看到不同层面的交互时间,可以看图标下方的色块代表不同的含义,比较有用的就是响应时间。

Apdex score:应用性能指数,就是一打分,蓝色区域表示最好,黄色区域最差。

Transactions:表示各个交互的处理时间,最耗时的在最上,从这里能看清哪个url的访问是耗时最长的,可以到Transactions页面中详细查看交互性能展示。

Error rate:错误率。

End

  

Node.js项目APM监控之New Relic的更多相关文章

  1. [Node.js] Node.js项目的持续集成

    原文地址:http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins 引子 持续集成 (Continuous Integration,简称CI)是一种软件工程 ...

  2. Node.js 数据库实时监控库 node-dbmon

    node-dbmon 是一个 Node.js 数据库实时监控库,如果你希望在数据库表数据更改后,或者是文件修改后能更新 GUI,那么这个库正好适合你. https://github.com/strap ...

  3. WebStorm中Node.js项目配置教程(1)——创建项目

    Node.js绝对是一个web开发的热点话题,作为web神器的WebStorm也是开发Node.js的佼佼者. 接下来就Node.js项目在WebStorm的配置操作就行详细的讲解,首先是创建项目.两 ...

  4. 如何线上部署node.js项目

    来源:http://blog.csdn.net/chenlinIT/article/details/73343793 前言 最近工作不是很忙,在空闲时间学习用node+express搭建自己的个人博客 ...

  5. Node.js项目拆包工程化

    背景 在我们开发的过程中,经常会遇到这样的问题,开发完了一些代码或者一个接口,别的小伙伴过来问你,代码可不可以给他复用,接口可以给他调用.这说明代码的复用和抽象对团队协作是很重要的.举个例子,如下图 ...

  6. 基于 Token 的身份验证:JSON Web Token(附:Node.js 项目)

    最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强, ...

  7. 15个Node.js项目列表

    前言: Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascri ...

  8. Node.JS 项目打包 JXCore

    哈哈,又回来了 当你开发完成了Node.JS项目,你应该需要打包发行吧 好,JXCore就是干这个的啦! 嗯,可能你会这样来安装 1. curl http://jxcore.com/xil.sh | ...

  9. Node.js 项目的配置文件

    在 Node.js 中可以通过process.env来访问当前的环境变量信息,比如: { PATH: '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', T ...

随机推荐

  1. [TPYBoard - Micropython 之会python就能做硬件 9] 五分种学会用TPYBoard V102 制作避障小车(升级版)

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 感谢山东萝卜电子科技公司授权   一.实验器材 1.TPYboard V102板 ...

  2. 部署在服务器中的WebService

    1.继上篇之后,我把我的WebService部署在了比较小的Tomcat中,首先要把Jax-ws.jar架包放在lib里面 2.在我的WEB-INF里面增加了一个xml文件:sun-jaxws.xml ...

  3. [.NET] 一步步打造一个简单的 MVC 网站 - BooksStore(一)

    一步步打造一个简单的 MVC 网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 简介 主 ...

  4. js获取url中的参数方法

    直接调用函数即可,函数如下: function getURLParam(name) { return decodeURIComponent((new RegExp('[?|&]' + name ...

  5. 老李分享:webservice是什么?2

    web service 组件 基本的 web service 平台是 XML + HTTP.所有标准的 web service 使用以下组件: SOAP(简单对象访问协议) UDDI(通用描述.发现与 ...

  6. JAVA加密算法系列-DESCoder

    package ***; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher ...

  7. 上传图片转为base64格式预览并压缩图片(不兼容IE9以下浏览器,兼容移动端ios,android)

    前些天公司要求在微信移动端做上传图片并预览的功能,要求能够调用摄像头拍照并立即预览. 在网上搜了一些方法,开始自己写了个简单的功能实现代码.结果发现移动端拍照出来的图片动不动就2M+,又因为要批量上传 ...

  8. (读书笔记)函数参数浅析-JavaScript高级程序设计(第3版)

    ECMAScript函数不介意传递的参数个数,因为在其内部是用一个数组进行表示的.在函数体内可以通过arguments对象来访问这个参数数组,就像我们正常访问数组一样处理. arguments对象只是 ...

  9. 几个地图(高德、百度、Apple、Google)URL API

    移动应用中,如何在自己的App中调起第三方的原生地图App,并显示相关的信息,如显示指定的一个坐标位置,显示一个起点到终点的路线查询,等等. 目前几个主要的地图商都提供了自己的App通过URL调用的形 ...

  10. Android Weekly Notes Issue #253

    Android Weekly Issue #253 April 16th, 2017 Android Weely Issue #253. 本期内容包括: Android O新推出的自定义字体支持; 用 ...