Application Insightsを使う (Node.js)

Application Insights をNode.js + Express で使ってみます。

準備

AzureポータルからApplication Insightsを作成し、INSTRUMENTATION KEYをどこかにメモっておきましょう。

テストで使うプロジェクトを用意します。Express なプロジェクトを作成して、Application Insights のパッケージもインストールします。

express
npm install applicationinsights –save
npm install

 

設定

素材がそろったので設定していきます。Request, Custom Event, Page View をちょっと試してみます。

と言っても、Requestなどはデフォルトで取得するように設定されるので何もしないで終わり、Custom Event は試しということで、その下に追加しています。

[app.js]

var appInsights = require("applicationinsights");
appInsights.setup("INSTRUMENTATION KEY").start();
appInsights.client.trackEvent("app start");

 

Page View 取得用にAnalytics Code を レイアウトに追加します。analytics code はAzureポータルで確認できます(INSTRUMENTATION KEYは先ほどの値)。

[layout.jade]

doctype html
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    script(type='text/javascript'). 
        var appInsights=window.appInsights||function(config){
            function r(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s=u.createElement(o),i,f;for(s.src=config.url||"//az416426.vo.msecnd.net/scripts/a/ai.0.js",u.getElementsByTagName(o)[0].parentNode.appendChild(s),t.cookie=u.cookie,t.queue=[],i=["Event","Exception","Metric","PageView","Trace"];i.length;)r("track"+i.pop());return r("setAuthenticatedUserContext"),r("clearAuthenticatedUserContext"),config.disableExceptionTracking||(i="onerror",r("_"+i),f=e[i],e[i]=function(config,r,u,e,o){var s=f&&f(config,r,u,e,o);return s!==!0&&t["_"+i](config,r,u,e,o),s}),t
        }({
            instrumentationKey:"INSTRUMENTATION KEY"
        });
        
        window.appInsights=appInsights;
        appInsights.trackPageView();
    }());    
  body
    block content

 

routes などで使う場合も、普通な感じですね。

var appInsights= require("applicationinsights");

router.get('/:id', function(req, res, next) {
  appInsights.client.trackEvent("user event", { id : req.params.id });
  res.send('respond with a resource');
});

 

という感じで、簡単に Request, Custom Event, Page View などの取得や確認ができます。

20160626-01

 

参考

Application Insights for Node.js – GitHub

Comments are closed.

Post Navigation