详解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 相关文章推荐
JavaScript 学习点滴记录
Apr 24 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 Javascript
google 搜索框添加关键字实现代码
Apr 24 Javascript
30个最好的jQuery 灯箱插件分享
Apr 25 Javascript
jQuery 文本框得失焦点的简单实例
Feb 19 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
Jul 10 Javascript
vue中的mescroll搜索运用及各种填坑处理
Oct 30 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
Jul 21 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
微信小程序实现瀑布流布局与无限加载的方法详解
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
如何选购合适的收音机
2021/03/01 无线电
B2K与车机的中波PK
2021/03/02 无线电
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
javascript一点特殊用法
2008/05/28 Javascript
学习ExtJS 访问容器对象
2009/10/07 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
python使用cPickle模块序列化实例
2014/09/25 Python
Python读取网页内容的方法
2015/07/30 Python
python在文本开头插入一行的实例
2018/05/02 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
Pyqt5实现英文学习词典
2019/06/24 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
考试作弊万能检讨书
2014/10/19 职场文书
公司员工管理制度
2015/08/04 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript