- 更新日: 2016年7月20日
- Rails
window.NREUMがHTMLヘッダー部に自動挿入されるのはNew Relic用
運用している Rails アプリケーションでHTMLソースコードを何気なしに眺めていたら、window.NREUM …という JavaScript コードがHTMLソースのヘッダー部に勝手に挿入されていた。ちょいと調べたところ、これは New Relic を導入して Browser Monitoring(ブラウザ・モニタリング)をオンにしている時に、New Relic が自動で挿入するトラッキング用コードで問題がないものでした。以下のような JavaScript コードが HTML header に挿入される。
1 2 |
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon": ...</script> <script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function ...</script> |
browser_monitoring.auto_instrument でモニタリングのON/OFF
Rails アプリケーションでは、New Relic の設定は config/newrelic.yml で行うので、そのファイルを見てみました。
config/newrelic.yml
1 2 3 4 5 6 7 8 9 |
#============================== Browser Monitoring =============================== # New Relic Real User Monitoring gives you insight into the performance real users are # experiencing with your website. This is accomplished by measuring the time it takes for # your users' browsers to download and render your web pages by injecting a small amount # of JavaScript code into the header and footer of each page. browser_monitoring: # By default the agent automatically injects the monitoring JavaScript # into web pages. Set this attribute to false to turn off this behavior. auto_instrument: true |
この Browser Monitoring の箇所のコメントを読むとよく分かる。
意訳)New Relic のリアル・ユーザー・モニタリング機能を使うと、実際のユーザーが体験しているウェブサイトのパフォーマンス情報を知ることができます。パフォーマンス情報は、ユーザーのブラウザが、ウェブページをダウンロードして表示する時間を計測することで解析されます。この解析のために、各々ウェブページのヘッダーおよびフッターに、少しの JavaScript コードが挿入されます。
デフォルトでは、New Relic エージェントは自動でモニタリング用の JavaScript をウェブページに挿入します。モニタリング機能がオフにするには、この設定を false にしてください。
New Relic の Browser Monitoring をオフにする
ということで、以下のように false に変更すると、New Relic の Browser Monitoring がオフになります。
1 2 3 4 |
browser_monitoring: # By default the agent automatically injects the monitoring JavaScript # into web pages. Set this attribute to false to turn off this behavior. auto_instrument: false |
false にすることで、表題の window.NREUM 〜の JavaScript コードが挿入されなくなります。ただし、false にしてモニタリング機能をオフにすると、New Relic による解析トラッキングができなくなり、ウェブサイトのパフォーマンスを知るための New Relic からの有用な情報を得られなくなるはずなので注意。何らかの事情で一時的に New Relic のモニタリングをオフにしたい時は、上記のように browser_monitoring.auto_instrument を false に変更すると良いかと思います。
window.NREUM 〜のコードの正体が分かったのでこれで調査は終了です。browser_monitoring.auto_instrument は true のままにしています。
New Relic を Rails アプリケーションに導入する手順は以下をご参考どうぞ。
RailsアプリケーションにNew Relicを導入 | EasyRamble
- Rails の関連記事
- RailsでMySQLパーティショニングのマイグレーション
- Rails ActiveRecordでdatetime型カラムのGROUP BY集計にタイムゾーンを考慮する
- RailsプラグインGemの作成方法、RSpecテストまで含めたrails pluginの作り方
- RailsでAMPに対応するgemをリリースしました
- Railsでrequest.urlとrequest.original_urlの違い
- Railsでwheneverによるcronバッチ処理
- Google AnalyticsのRails Turbolinks対応
- Railsアプリにソーシャル・シェアボタンを簡単設置
- Rails監視ツール用にErrbitをHerokuで運用
- Facebook APIバージョンのアップグレード手順(Rails OmniAuth)
Leave Your Message!