详解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 基础学习笔记
May 29 Javascript
javascript 数据类型转换(parseInt,parseFloat)
Jul 20 Javascript
JS过滤url参数特殊字符的实现方法
Dec 24 Javascript
Javascript基础教程之break和continue语句
Jan 18 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
Oct 26 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
angular实现input输入监听的示例
Aug 31 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
原生JS无缝滑动轮播图
Oct 22 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
简单介绍Python中的decode()方法的使用
2015/05/18 Python
Python中的集合类型知识讲解
2015/08/19 Python
python常见排序算法基础教程
2017/04/13 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
python基础梳理(一)(推荐)
2019/04/06 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Python实现京东抢秒杀功能
2021/01/25 Python
财务助理岗位职责
2013/11/10 职场文书
教师的实习自我鉴定
2013/12/17 职场文书
工作自我评价范文
2019/03/21 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
python实现会员管理系统
2022/03/18 Python