Webサイトのモニター
概要とメリット(できること,UseCase)
- 実ユーザーの体験をリアルタイムで可視化する機能(End User Monitoring/Real User Monitoringとも言われます)
- JavaScriptビーコンでページロード時間、エラー、ユーザーアクションを自動収集
- フロントエンドとバックエンドのトレースを統合し、問題の根本原因を特定
- OS、ブラウザ、地域、デバイス別にパフォーマンスを分析可能
- メトリック、トレースの監視だけでは把握できなかった実ユーザー環境での問題を検出
公式ドキュメントのリンク
https://www.ibm.com/docs/ja/instana-observability/latest?topic=instana-monitoring-websites
具体的なユースケース
End User MonitoringをInstanaで行う場合、WebアプリケーションにJavaScriptのコードを数行追記する必要があります。
必要なJavaScriptのコードの取得方法はドキュメントのインストールを参照してください。
ユースケース1: WebアプリケーションへのJavaScript埋め込みが困難な場合
背景・課題:
End User MonitoringをInstanaで行う場合、WebアプリケーションにJavaScriptのコードを数行追記する必要がありますが、以下のような理由でWebアプリケーションへの直接的なコード追加が困難な場合があります。 - レガシーシステムでソースコード修正が難しい - 複数のWebアプリケーションに一括で適用したい - デプロイプロセスが複雑で変更に時間がかかる
解決方法:
自動インスツルメンテーション機能を使うことで、Apache HTTPサーバーで埋め込み作業を代理で行うことが可能になります。 これにより、Webアプリケーション自体を変更せずに、基盤側の設定変更でJavaScriptを自動挿入できます。
参考リンク:
公式ドキュメント: https://www.ibm.com/docs/ja/instana-observability/latest?topic=websites-automatic-instrumentation
Qiita記事: https://qiita.com/iwashinat/items/d2a05186bca7cc627128
実運用での注意点・ベストプラクティス
JavaScriptビーコンの配置場所
公式ドキュメントでは基本的な設定方法は記載されているが、実際の配置場所については以下の点に注意が必要:
<head>タグ内のできるだけ早い位置に配置することを推奨- 他のJavaScriptライブラリよりも前に読み込むことで、ページ全体のパフォーマンスを正確に計測可能
FAQ
モダンWebアプリケーション(SPA: Single Page Application)でURLパラメータ(?id=123や?page=productsなど)によるページ切り替えを行う場合、Instana は別ページとして認識してくれるのか?
コミュニティBlogのSPAのURLパラメータ遷移をInstana EUMで正確に監視する方法を参照してください。