详解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的.live()和.die() 使用介绍
Sep 10 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
Oct 24 Javascript
window.open不被拦截的实现代码
Aug 22 Javascript
js如何设置在iframe框架中指定div不显示
Dec 04 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 Javascript
JavaScript设计模式之外观模式介绍
Dec 28 Javascript
node+express制作爬虫教程
Nov 11 Javascript
深入浅出es6模板字符串
Aug 26 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
this.$toast() 了解一下?
Apr 18 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
May 14 Javascript
video.js添加自定义组件的方法
Dec 09 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
Discuz 模板引擎的封装类代码
2008/07/18 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
详解php实现页面静态化原理
2017/06/21 PHP
laravel5.6实现数值转换
2019/10/23 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
AngularJS表格添加序号的方法
2017/03/03 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
python实现的udp协议Server和Client代码实例
2014/06/04 Python
python迭代器实例简析
2014/09/25 Python
快速了解python leveldb
2018/01/18 Python
python的re正则表达式实例代码
2018/01/24 Python
python aiohttp的使用详解
2019/06/20 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
《地震中的父与子》教学反思
2014/04/10 职场文书
伦敦奥运会口号
2014/06/13 职场文书
销售人员工作自我评价
2014/09/21 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
Redis三种集群模式详解
2021/10/05 Redis