このリポジトリには、Dynatrace Digital Experience Management (DEM)ワークショップのハンズオンが含まれています。

事前準備

セットアップ

このラボでは、以下のサンプルアプリケーションを使用します。

学習内容

この演習では、OneAgentをLinuxインスタンスにデプロイし、OneAgentにそのインスタンスで実行されているものを検出させます。

Webブラウザでターミナルを使う

実験を円滑に進めるために、LinuxインスタンスにWebブラウザを介したターミナルでアクセスします。

メールに記載されているURLを使って、SSHターミナルにアクセスします。URLが Public IP Address/wetty のようになっていることを確認してください。

メールに記載されているログイン名パスワードを使用してください。

Deploy

OneAgentのダウンロード

ブラウザを開き、DynatraceのURLにアクセスします。

以下の手順に従ってください。

Deploy

Dynatrace OneAgent for Linuxのページ内で、以下の手順を行います。

Deploy

例:

$  wget  -O Dynatrace-OneAgent-Linux-1.171.252.sh <follow screen shot above>
--2019-08-07 10:17:45--  https://<URL>
Resolving <URL>... <IP>
Connecting to <URL> | <IP>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 139134801 (133M) [application/octet-stream]
Saving to: ‘Dynatrace-OneAgent-Linux-1.171.252.sh'

100%[======================================>] 139,134,801 84.3MB/s   in 1.6s

2019-08-07 10:17:47 (84.3 MB/s) - ‘Dynatrace-OneAgent-Linux-1.171.252.sh' saved [139134801/139134801]

インストールスクリプトの実行

Deploy

$ sudo /bin/sh Dynatrace-OneAgent-Linux-1.171.252.sh
10:21:42 Checking root privileges...
10:21:42 OK
10:21:42 Installation started ...
...
10:22:14 Starting agents...
10:22:14 oneagent service started
10:22:14 Checking if agent is connected to the server...
10:22:16 Dynatrace OneAgent has successfully connected to Dynatrace Cluster Node. After completing Dynatrace OneAgent installation on this machine, please return to your browser to complete the remainder of the installation.
$

Deployment status でインストールを検証する

Show deployment status**をクリックすると、接続されているホストの状態が確認できます。

Deploy

下の画像のように、接続されたホストが表示されているはずです。

Deploy

Easytravelアプリケーションの再起動

Easy Travelを再起動するには、以下のコマンドを実行してください。

/restart_easyTravel.sh

$ ./restart_easyTravel.sh
Restarting easyTravel ....
Stopping easyTravel ....
OKeasyTravel scenario stopped
Please wait...
Starting easyTravel ....
OKeasyTravel scenario started
Done.

Easytravelアプリケーションを見る

Dynatrace内で、以下の手順でEasytravelのURLを取得します。

Deploy

Smartscapeを探る

Easy Travelが起動するのを待っている間、Dynatraceを探索し、Smartscapeを使って、DynatraceがEasy Travelアプリケーションを構成するプロセスと依存関係を自動的に発見することができます。

4 things Dynatraceの魅力をご紹介します。

Smartscape

このラボでは、Real User Monitoring の設定の基本を説明します。これらは、自動注入であれ手動注入であれ、DynatraceのJavaScriptエージェントが展開されるたびに従うべきベストプラクティスの一部です。

学ぶべきこと

その他のDEM設定

上記のいくつかは、APIを介して自動化され、お客様の環境に設定されています。

タスク1: アプリケーションの定義

以下の手順でアプリケーションを定義します。

Define App

これで内部ドメインのマッピングが完了したので、外部ドメインについても同様の作業を行います。

Define App

新しく作成したアプリケーションの名前を変更するには

Naming App

タスク2:適切なJavaScriptフレームワークの選択

Javascriptのフレームワークを選択するには

Enable-framework

タスク3:ユーザーセッションのタグ付け

次は、ページのメタデータに基づいてユーザーをタグ付けする方法です。このユーザータグ付けのアプローチは、アプリケーションのページソースで利用可能なデータを取り込むことで機能します。ユーザー名は、DOM要素のテキスト、metaタグ、JavaScript変数、あるいはcookie属性に含まれているかもしれません。例えば、DynatraceのデモアプリケーションであるeasyTravelでは、ホームページの右上にあるウェルカムメッセージにユーザー名が含まれています(下の画像参照)。ほとんどのブラウザに搭載されている開発ツールを使って、この特定の要素のために固有のCSSセレクタを生成することができます。

User tagging based on page metadata

ページソースのどこにユーザー名があるかを確認したら、そのユーザー名に基づいてユーザータグを作成することができます。これを行うには、Dynatraceに戻り、以下の手順を実行します。

Enable-framework

この演習では、Dynatraceで単一のURLの合成テストを作成することを取り上げます。 Dynatraceには、3種類の合成モニタリングがあります。

1. Easytravelのブラウザモニターをワンクリックで作成する。

これで3つのブラウザクリックパス合成モニターを作成しました。

OneClick-Synthetic

2. Easytravelのブラウザクリックパス合成モニターの作成

以下の手順に従ってください。

OneClick-Synthetic

3. HTTPモニター

以下の手順に従ってください。

OneClick-Synthetic

この演習では、Dynatraceのセッションリプレイの設定を取り上げます。

セッションリプレイの有効化

以下の手順でセッションリプレイを有効にしてください。

Enable-Session-Replay

セッションリプレイを撮影するための負荷をシミュレート

セッション・リプレイの確認

数分後、Dynatraceの左ナビゲーションバーにあるUser Sessionsの下で、自分のセッションを見つけることができます。

SR

SR

SR

SR

個人情報保護のための追加設定

SR

Dynatraceは、ユーザーが監視対象のアプリケーションにアクセスするたびに、詳細なユーザーセッションデータを取得します。このデータには、すべてのユーザーアクションとハイレベルなパフォーマンスデータが含まれます。Dynatrace APIまたはDynatrace User Sessions Query Language (USQL)を使用すると、キャプチャしたデータに対して強力なクエリ、セグメンテーション、アグリゲーションを簡単に実行できます。 User Sessions Query LanguageはDynatrace専用のクエリ言語ですが、いくつかのSQLの概念に基づいており、構文も似ているため、簡単に使い始めることができます。

USQLを使用する典型的なユースケースは、ビジネス指標を視覚化するダッシュボードを構築することです。

USQL

1. USQLを知る

以下の手順でご確認ください。

USQL

サンプルクエリ

ユーザージャーニーのためのファネルの作成

SELECT FUNNEL(useraction.name="loading of page /special-offers.jsp" AS "Special Offers landing page", useraction.name = "loading of page /orange-booking-review.jsf" AS "Review package", useraction.name = "loading of page /orange-booking-payment.jsf" AS "Payment") FROM usersession

特定の場所からのページパフォーマンスの把握

SELECT DATETIME(starttime, 'MM/dd/yyyy hh:mm', '30m'),AVG(useraction.visuallyCompleteTime)
FROM usersession
WHERE country IS "United States" GROUP BY DATETIME(starttime, 'MM/dd/yyyy hh:mm', '30m')

どのユーザーにエラーが発生しているかを把握する

SELECT userId, SUM(totalErrorCount) FROM usersession
WHERE totalErrorCount IS NOT NULL
GROUP BY userId ORDER BY SUM(totalErrorCount) DESC

統計・分析の収集

SELECT COUNT(*) FROM usersession WHERE useraction.name = "loading of page /orange.jsf"

このラボを楽しんでいただき、お役に立てれば幸いです。ご意見、ご感想をお待ちしております。

このラボでの全体的な経験はどうでしたか?

とても良い 良い 普通 悪い とても悪い

このラボで最も役立ったことは何ですか?

Real User Monitoringの設定について Syntheticの学習 Session Replayの学習 User Session Query Languageの学習

このラボを友人や同僚に勧める可能性はどの程度ありますか?

強く勧めたい 勧めたい わからない 勧めない 全く勧めない