RUMスクリプト挿入
Node.jsエージェントを使用して、リアルユーザー監視(RUM)をWebページに追加できます。Node.jsエージェントを使用したRUMを利用するには、Node.jsエージェントバージョン2.7.0以上を導入する必要があります。
Node.jsアプリケーションでRUMを有効化する手順は次のとおりです。
- 次の設定をAPMインサイトNode.js得⓪ジェントのapminsightnode.jsonファイルに追加します。
{"licenseKey" : "<license-key>",
"appName" : "<application-name>",
"port" : <application-port> ,
"rumAppKey" : "<App key copied from the Site24x7 web client>"}
アプリケーションキーの取得方法は次のとおりです。
-
Site24x7にログインします。
-
RUM > アプリケーションに移動します。
-
ハンバーガーアイコンより、Webスクリプトをコピーを選択します。その後、ダイアログボックスが表示されます。
- ダイアログボックスの下部にアプリケーションキーが表示されます。
-
Javaスクリプトヘッダーを監視したいアプリケーションに挿入します。HTMLテンプレートに挿入されると、APMインサイトモジュールで、エンドユーザーのページロード時間をキャプチャするためのスクリプトヘッダーが生成されます。
ヘッダーは手動で挿入する必要があります。
RUMスクリプト取得のためのNode.js API:
apmInsight.getRumScript()
フレームワークの例
ブラウザータイミングヘッダーを挿入するのに最も容易な方法は、APMインサイトモジュールをテンプレートにパスし、そのテンプレートから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
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にログインします。
- RUM > アプリケーションをクリックします。