目次
開く
パフォーマンス管理ソリューションDynatraceでは、監視対象のアプリケーションをユーザーが操作する度にその行動データを詳細にキャプチャしています。
以前のTech Reportでは、このユーザーアクションについて、原因特定までの分析の流れをご紹介しました。
(詳細は、こちらの記事をご確認ください:Dynatraceの分析手法について ~ユーザーアクション全体から原因箇所を特定する~)
このような分析方法に加え、DynatraceではUser sessions query(USQL)というDynatraceの利用者が自身でデータを集計できる機能があります。本記事ではUser sessions queryの概要と簡単な使用方法についてご紹介します。
1.User sessions queryの概要
-
User sessions queryとは、冒頭でも記載したとおり、ユーザーの行動データをDynatraceの利用者が自身で集計できる機能です。
Dynatraceでは、ユーザーの行動データをリレーショナルデータベースに保存はしていないため、一般的なSQL言語とは異なりますが、一部SQLの概念に依存しており、構文も似ています。そのため、Dynatraceの使用を開始したばかりという方も、SQLを使用したことがあれば比較的簡単に使用することが可能です。Dynatrace独自のクエリを用いて、利用者が抜き出したい特定のユーザーアクションやブラウザ単位などで集計し、グラフ化することができます。
2.User sessions queryを使ってみよう
-
実際にUser sessions queryを使ってみましょう。Navigation menuからUser sessionsを選択します。
右上に表示されている「User Sessions query」をクリックします。
黒い入力フォームが表示されます。この部分に集計したいデータになるようにクエリを記載します。
User session queryは直接入力もできますが、以下の画面のように、次の入力候補をある程度自動的に表示します。次の入力候補を自動的に出力してくれるので、SQL文の知識は少しだけという方も気軽に利用していただけます。
例として、以下のようなクエリを記述します。
<クエリの抽出条件>
-
ユーザーアクションの"duration"を「応答時間」とし、ユーザーアクション名と共にUserSessionからセレクト
-
抜き出すアクションは"REAL_USER"(ロボット要求などが除外されます)
-
"browserFamily"(ブラウザの種別)は"Chrome"のみ
-
応答時間とユーザーアクション毎にグルーピング
-
応答時間の遅い順に表示
データを抜き出す対象の時間は画面右上のタイムフレーム内が対象です。
クエリを記載した後は「Run query」をクリックします。
実行結果が表示されました。画像の大きさの関係で上記はTOP 3までしか載せておりませんが、Dynatraceの仕様としてデフォルト値はTOP 50で凡例が表示されます。TOP 50以上を表示したい場合、TOP関数を使用します。
※対象期間とデータの数によっては実行時間が長くなったり、すべて表示できないケースがあります。
※そのほか使用できる関数に関してはドキュメントをご確認ください。
3. 特定アクションに絞って抽出し、ダッシュボードに貼り付けてみよう
- 次に特定のユーザーアクションについて抽出してみます。次のようなクエリを記述しました。
<クエリの抽出条件>
- ユーザーアクションのスタートタイム、平均応答時間を"useraction"からセレクト
- "DoLogin"アクションのみ抽出
- スタートタイムでグルーピング
このケースでは特定のユーザーアクションに絞ったため、「Bar chart」形式で表示されています。
折れ線グラフの方がわかりやすそうなので、「Line chart」を選択してみます。
折れ線グラフで応答時間が表示されました。このように、利用者が抽出したデータの集約単位によって適したグラフのタイプを選択することが可能です。
User session queryで作成したグラフは、そのデータへのアクセス権を持っている利用者にURLを共有することで閲覧することができます。
また、ダッシュボードに貼り付けることもできるため、ダッシュボードごと他の利用者に共有することも可能です。グラフ右上の「Pin to dashboard」をクリックし、対象のダッシュボードを選択すると貼り付けることができます。ダッシュボードに表示させることで作成したグラフを定常的に確認することができます。
4.まとめ
今回は、ユーザーアクションデータのさらなる活用方法としてUser sessions queryについて記載しました。
クエリを記述することで、Dynatraceの利用者が集計したい単位でデータを抽出することができるため、抽出したいデータの形が決まっている場合、非常に有効な手段です。日頃Dynatraceをご覧いただいている中で、「もう少し違った集計単位で表示されていれば・・」、「こういう表示はできないのか」と感じている方は是非User sessions queryを試してみてはいかがでしょうか。
本記事が日頃のパフォーマンス管理の参考になれば幸いです。
執筆者
Y.T.
営業技術本部 技術サービス統括部 技術サービス1部
お客様担当SEとして、製品の構築から活用方法までの一連のサポートを担当
また、お客様環境にて性能問題が発生した際には、製品のアウトプットを利用し、問題解決に向けた調査/提案業務を実施
■経歴
1999年 入社
2000年 製品テスト等、ES/1シリーズの品質管理業務を担当
2006年 セキュリティ製品のお客様サポートを兼務
2012年~ 中部でのお客さまサポートを担当
主にMF/CS製品を利用したシステムリソース情報からの性能管理サポートに従事
近年は、上記に加えAPM製品を利用したユーザー体感レスポンスやアプリケーション視点での性能管理サポートにも従事
関連記事
-
#22 ダッシュボードを起点とした監視・障害分析手法
2024.08.27
#Dynatrace
#分析手法
#Dashboard
Dynatraceのダッシュボードを例として、ダッシュボードを起点としたObservabilityな監視・障害分析手法をご紹介いたします。
-
#21 Webサイトにアクセスして画面表示されるまで
2024.06.21
#Dynatrace
#ユーザー体感
#レスポンス
ブラウザで画面をクリックして画面が表示されるまでの動作についての解説と、Dynatrace RUMを利用した端末サイドの分析例を紹介します。
-
#20 Dynatraceを用いたKubernetes分析(3/3)
2024.05.14
#Dynatrace
#Kubernetes
IT運用の現場では、インフラ構成の選択肢としてKubernetes環境が一般的となりつつあります。今回は「Dynatraceを用いたKubernetes分析」を主軸に、3本の記事構成でご紹介します。 3本目は、アラート機能に焦点を当てて、各種設定やIT運用にどのように役立てられるのかを説明します。