RUM(Real User Monitoring)って何?
Datadogは、従来型IT(サーバーHW)の監視だけでは無く、クラウドPaaSやWEBサービスも監視できる監視ソリューション(SaaS)ですが、WEBサイトを訪問するユーザ数、アクセスしたユーザのデバイスタイプ、OS種類、セッション時間、ページビューなどを分析することができる。つまり、Google Analytics の様なもの。公式サイトによると出来る事は
- ブラウザとモバイルの性能(を可視化)
- レンダリングのボトルネック(を見つける)
- エラー、リソース、バックエンド要求の収集(を可視化)
なぜGoogle Analyticsじゃなくて、Datadogを使うの?
分析できる機能は圧倒的にGoogleの方が多い/日本語対応/GUIが見やすいのだが、Datadog RUMを使えばインフラ監視、アプリ性能モニタ、ユーザインタラクション(相互作用、交互作用)をひとつのツールでそれぞれのメトリクスを関連付けて可視化と分析ができる。
百聞は一見に如かず。なので試してみる。
WEBアプリは、バックエンドFirebase+フロントエンドJavaScriptで構成。
例えば、ユーザセッション可視化
うーん;アクセス数が少ないのでデモには物足りないけれど、WEBサイトのアクセス状況を可視化できた。
例えば、ページをロードする応答時間
あれ?;これってAPMじゃなかったっけ? あぁそうか、クライアントPC/mobile側のユーザーと同じ視点での可視化か。
セットアップの流れ
スクリプトコードに scriptタグ を追加できるなら、30分もかからず検査までできる。
1)Datadogポータルで、アプリに埋め込むコードを生成する
[UX Monitoring]→[RUM Applications]→[+ New Application]
下図では①で[JS]JavaScriptを選んでアプリ名を入力、②でDatadog SDKの読み込みをCDN指定した場合の、アプリに組み込むコードが生成される。
2)WEBアプリにコードを追加する
Headタグ部分に、1)で生成したコートを追加してWEBサーバーにアプリをデプロイする。
3)WEBアプリに1回アクセスする
デプロイしたWEBアプリを実行すると、RUMが有効に機能していることを検証してくれる[waiting for data ...]が、成功すると[Data is reporting successfully!]に変わる。よかった成功した。
4)Datadogポータルで可視化する
[UX Monitoring]→[RUM Applications]→[Session]
お。ユーザーがログインしたとか、エラーとか、ダウンロードしたとか、操作履歴まで表示しちゃうのか。
まとめ
Datadog 監視ソリューションを使っているなら、セットアップが簡単で、ひとつのツールでWEBアプリを使うユーザー分析もできることが分かった。インフラ監視、アプリ性能モニタに加えて、Google Analytics も一緒にどうぞ、という提案をしようと思う。