详解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 相关文章推荐
jquery ajax例子返回值详解
Sep 11 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
Aug 22 Javascript
ajax实现动态下拉框示例
Jan 10 Javascript
详解基于angular路由的requireJs按需加载js
Jan 20 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
Feb 13 Javascript
angularJs中ng-model-options设置数据同步的方法
Sep 30 Javascript
用node开发并发布一个cli工具的方法步骤
Jan 03 Javascript
Vue infinite update loop的问题解决
Apr 23 Javascript
使用异步组件优化Vue应用程序的性能
Apr 28 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
May 09 Javascript
JS前端监控采集用户行为的N种姿势
Jul 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正则表达式(regar expression)
2011/09/10 PHP
解析link_mysql的php版
2013/06/30 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
php实现微信企业转账功能
2018/10/02 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
js数组去重的hash方法
2016/12/22 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
Python实现Linux中的du命令
2017/06/12 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python 发送json数据操作实例分析
2019/10/15 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
热爱祖国的演讲稿
2014/05/04 职场文书
英文升职感谢信
2015/01/23 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
环境卫生整治简报
2015/07/20 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
在python中读取和写入CSV文件详情
2022/06/28 Python