RUM 脚本注入
可以使用 Node.js 代理向您的网页添加真实用户监控(RUM)。要在 Node.js 代理中使用 RUM,您必须至少使用 Node.js 代理 v2.7.0。
要在 Node.js 应用程序中启用 RUM,请按照以下步骤操作:
- 在 APM Insight Node.js 代理的 apminsightnode.json 文件中添加以下配置:
{"licenseKey" : "<license-key>",
"appName" : "<application-name>",
"port" : <application-port> ,
"rumAppKey" : "<App key copied from the Site24x7 web client>"}
注意获取 App key 的方法:
-
登录 Site24x7 Web 客户端。
-
前往 RUM > 您的应用程序。
-
点击汉堡菜单图标,然后点击复制 Web 脚本。复制 Web 脚本对话框将打开。
- 对话框底部提供了 App key。

-
-
将 JavaScript 头部代码插入您希望监控的应用程序中。apminsight 模块生成的脚本头部代码插入到 HTML 模板后,可以捕获终端用户的页面加载时间。
注意获取 RUM 脚本的 Node.js API:头部代码必须手动注入。
apmInsight.getRumScript()
框架示例
插入浏览器计时头部代码最简便的方法,是将 apminsight 模块传递到模板中,然后在模板内调用 apmInsight.getRumScript()。以下是针对不同框架和模板设置 RUM 的示例。
Express 和 Pug
此示例使用了 Web 应用程序框架 Express 和模板模块 Pug。虽然其他框架的具体实现有所不同,但这种通用方法在大多数情况下均适用。
在您的 app.js 中:
var apminsight = require('apminsight')();
var app = require('express')();
app.locals.apminsight = apminsight;
app.get('/', function (req, res) {
res.render('user');
});
app.listen(3000);
在您的 index.pug 中:
doctype html
html(lang="en")
head
!=apminsight.getRumScript()
body
block content
html(lang="en")
head
!=apminsight.getRumScript()
body
block content
Hapi.js 和 Handlebars
此示例使用了 hapi.js 和 handlebars。
在您的 app.js 中使用 hapi:
var apminsight = require('apminsight')();
var Hapi = require('@hapi/hapi');
var server = new Hapi.Server(3000, '0.0.0.0', {
views: {
engines : {html: 'handlebars' },
path : __dirname + '/templates'
}
});function homepage(request, reply) {
var context = {
// pass in the header each request
apm : apminsight.getRumScript(),
content : ...
};reply.view('homepage', context);
};server.route({
method : 'GET',
path : '/',
handler : homepage
});server.start();
在您的 templates/homepage.html 中:
<!DOCTYPE html>
<html>
<head>
{{{ apm }}}
<title>Hello</title>
</head>
<body>
{{ content }}
</body>
</html>
注意
查看为 Node.js 应用程序收集的 RUM 指标:
- 登录您的 Site24x7 Web 客户端。
- 选择 RUM > 您的应用程序。
-
本页内容
- 框架示例
