New Relicをnode.jsサーバ1台だけに入れる方法
node.jsのパフォーマンス監視のため、New Relicを導入する際に
全サーバに入れたくない場合の方法。
Javaであれば、New Relicのjarファイルをコピーしなければいいだけなのですが、
node.jsの場合はソースコードに直接下記のように記載しなければいけないため、
New Relicのnode-moduleが存在しないサーバではエラーになってしまいます。
また、存在している場合はNew Relicが読み込まれてしまいます。
var nr = require('newrelic');
リリース時にソースコードを書き換えるのも嫌だったので、下記のように、
node-moduleが存在する場合のみ、読み込むようにした結果、
1台だけにNew Relicを適用することができました。
もちろんNew Relicを適用したくないサーバでは、node-moduleをインストールしては駄目です。
try { var nr = require('newrelic'); console.log('load New Relic'); } catch (ex) { console.log('skip New Relic'); var nr; }