LeanCloud 云引擎为应用开发者省去了服务端系统的部署和维护方面的负担,但代价是一定程度上减弱了线上环境的透明性。不少云引擎的用户希望能对线上代码的错误及性能特征有更多的了解,以便优化自己的程序。New Relic 是全球知名的应用性能监控工具,它可以告诉开发者一个应用的性能瓶颈,比如最耗时和最常用的请求、远程调用等等。
在云引擎项目中集成 New Relic 比较简单,这里以一个 Node 项目为例来说明:
在 New Relic 注册账户并创建一个新的 APM 监控项目。
按照 New Relic 官方文档 完成以下操作:
newrelic
模块:
npm install --save newrelic
node_modules/newrelic
目录里的 newrelic.js
复制到项目根目录,并编辑 newrelic.js
填入自己的 license_key
和一个有意义的应用名称( app_name
),其中 license_key
可以在创建这个 APM 监控项目时的页面中找到。server.js
的第一行)加载 newrelic
模块。修改日志设置:
logging: {
level: 'info',
filepath: 'stdout'
}
这一步很重要。因为 New Relic 默认会在当前目录下创建日志文件,而云引擎不允许在临时目录 /tmp
之外创建本地文件,New Relic 创建日志文件失败会导致进程退出,所以需要在 newrelic.js
里让 New Relic 把日志输出到标准输出 stdout。然后,开发者可以到云引擎的 Web 控制台里看到所有的日志。
然后在程序入口文件(通常是 server.js
)的第一行加上:
require('newrelic');
把所有的改动 commit 并部署到云引擎,一段时间后就可以从 New Relic 控制台看到这个项目的数据了。如果遇到问题可以登录 LeanCloud 控制台 > 存储 > 云引擎 > 其它 > 日志,检查日志是否有错误输出。
这是 Drop 的 New Relic dashboard: