详解Node.js项目APM监控之New Relic


Posted in Javascript onMay 12, 2017

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

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

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

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

创建APM监控

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

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

详解Node.js项目APM监控之New Relic

 主要过程:

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”概况页面。

详解Node.js项目APM监控之New Relic

 其中:

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

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

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

Error rate:错误率。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
js列举css中所有图标的实现代码
Jul 04 Javascript
动态创建样式表在各浏览器中的差异测试代码
Sep 13 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
jquery 实现返回顶部功能
Nov 17 Javascript
jQuery+css实现百度百科的页面导航效果
Dec 16 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
Sep 21 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
Feb 18 Javascript
Vue数据绑定简析小结
May 07 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
用JS实现选项卡
Mar 23 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
May 12 #Javascript
WebSocket实现简单客服聊天系统
May 12 #Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 #Javascript
详解微信小程序 相对定位和绝对定位
May 11 #Javascript
Vue通过input筛选数据
Oct 26 #Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
May 11 #Javascript
jQuery遮罩层实例讲解
May 11 #jQuery
You might like
PHP cron中的批处理
2008/09/16 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
javascript 必知必会之closure
2009/09/21 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
Python解析json代码实例解析
2019/11/25 Python
Python tkinter三种布局实例详解
2020/01/06 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
《莫高窟》教学反思
2014/02/25 职场文书
汽车转让协议书
2015/01/29 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers