Header background

シンセティック・モニタリングとは?

お客様に最高品質のデジタル体験を提供するためには、アプリケーションが常に正常に動作していることを確認することが重要です。シンセティックモニタリング(シンセティックテストとも呼ばれます)は、アプリケーションが意図したとおりに動作しているかを確認するのに役立ち、もしそうでない場合は、何が起きているのかを迅速に特定するのに役立ちます。シンセティックモニタリングツールはアプリケーションパフォーマンスモニタリングの重要な要素となっていますが、すべてのソリューションがすべてのタイプを網羅しているわけではなく、最良の結果をもたらすわけでもありません。

現代のクラウドアーキテクチャが進化するにつれ、ユーザーがアプリケーションとやり取りする方法も変化しています。さまざまな種類のモニタリングがどのように機能するかについては後ほど詳しく説明しますが、まずは背景についてご説明します。

シンセティック・モニタリングとは?

シンセティックモニタリングとは、ユーザーがアプリケーションを利用する際にたどる可能性のある経路をエミュレートする、アプリケーションパフォーマンス監視の手法です。スクリプトを使用して、さまざまなシナリオ、地理的な場所、デバイスの種類、その他の変数に応じたシミュレートされたユーザー行動を生成します。

この貴重なパフォーマンスデータを収集・分析した後、シンセティック・モニタリング・ソリューションでは以下のことが可能になります:

  • アプリケーションのパフォーマンスに関する重要な洞察を提供します
  • アプリケーションの稼働時間を自動的に監視し、一般的なユーザーの行動に対してアプリケーションがどのように反応するかを把握できます
  • 特定のビジネストランザクションに焦点を当てます。例えば、ユーザーが購入を完了しようとしたり、Webフォームに入力したりする際に発生する可能性のある問題を通知します

シンセティックモニタリングはどのように機能するのでしょうか?

シンセティックモニタリングでは、ブラウザ、デバイス、またはコンピュータにインストールされたロボットクライアントアプリケーションが、一連の自動化されたトランザクションをアプリケーションに送信します。これらのサーバー呼び出しとテストスクリプトは、エンドユーザーがアプリケーションの主要な領域を移動する際のクリックストリームをシミュレートします。通常、これらは15分ごとに実行されますが、異なる頻度で実行するように設定したり、特定のアクションに基づいて即座に実行するように設定したりすることも可能です。

ロボットクライアントがアプリケーションから応答を受け取ると、その結果を合成監視システムに報告します。定期的な合成テストの実施中にクライアントがエラーを検出した場合、監視システムはそのテストを再実行するよう指示します。再テストでもエラーが発生した場合、監視システムはそのエラーを確定したものとみなし、必要に応じて組織内でエスカレーションを行います。

チームは、企業の要件に応じて、さまざまな方法で合成監視ツールを設定できます。例えば、ファイアウォールの内側にあるマシンにロボットクライアントを設定して、内部環境が想定通りに動作していることを確認したり、ファイアウォールの外側のコンピュータにロボットクライアントを展開して、アプリケーションのパフォーマンス状況を把握したりすることができます。アプリケーションの可用性とパフォーマンスについてより包括的な把握を行いたい場合は、複数の場所にあるブラウザに複数のロボットクライアントを設定することができます。

synthetic transaction monitoring

合成モニタリングとリアルユーザーモニタリングの比較

シンセティック・モニタリングは、リアル・ユーザー・モニタリング(RUM)と呼ばれる別のアプリケーション・パフォーマンス手法とよく比較されます。その名前が示す通り、RUMは実際のユーザーの操作をエミュレートするのではなく、実際のユーザーの行動を追跡します。多くの組織では、WebページにJavaScriptコードを埋め込み、実際のユーザーがそのページを操作する際にバックグラウンドでパフォーマンスデータを収集することで、RUMを実装しています。

では、シンセティックモニタリングは通常どのような目的で使用され、企業はどのような場合にRUMの使用を選択するのでしょうか。シンセティックモニタリングは、アプリケーションがまだ開発中の段階で、ユーザー体験に影響を与える可能性のある短期的なパフォーマンスの問題を特定するのに役立ちます。早期に問題を検出することで、企業は潜在的なパフォーマンスの問題を未然に防ぐことができます。このアプローチは、例えば回帰テストや本番サイトの監視などに便利です。 対照的に、リアルユーザーモニタリングは、アプリケーションがデプロイされた後のパフォーマンスにおける長期的な傾向を企業が把握するのに役立ちます。

synthetic monitoring vs real user monitoring

Dynatraceの専門家が担当するこのセッションに参加し、シンセティックモニタリングの仕組みとメリットについて学びましょう。

なぜ合成モニタリングを使うのでしょうか?

顧客がアプリケーションを利用しようとした際にパフォーマンスが低下すると、顧客はより良いユーザー体験を求めてすぐに離れてしまいます。これは様々な形で現れる可能性があります。例えば:

  • 高い直帰率。ウェブサイトの読み込みに時間がかかりすぎて、直帰率が高くなっている可能性があります。あるいは、アプリケーションのパフォーマンスにおいて、知らず知らずのうちに競合他社に遅れをとっているかもしれません。これは、新規顧客の獲得や市場シェアの拡大を妨げる要因となります。
  • トラブルシューティングの困難さ。組織としてアプリケーションに問題があることを認識していても、どこからトラブルシューティングを始めればよいのか分からない場合があります。アプリケーションのパフォーマンスに関しては、ITチームが常に迅速に原因を特定できるとは限りません。特に、業務が過密で複数の優先事項を同時に処理している場合はなおさらです。そして、担当者が原因を把握できず答えを探している間にも、組織の収益に即座かつ重大な影響が及ぶ可能性があります。

テスト環境でユーザーの行動パスをエミュレートすることで、こうした問題を回避し、以下のことが可能になります:

  • システムの健全性を監視します。シンセティックモニタリングにより、ウェブサイトの可用性、動作速度、主要なトランザクションが期待通りに機能しているか、そして潜在的な遅延や障害の発生箇所を把握できます。
  • パフォーマンスを向上させる。長期的に見れば、シンセティックモニタリングはパフォーマンスのベンチマークを提供し、改善や最適化が必要な領域を明らかにします。
  • 問題を早期に防止します。また、シンセティックモニタリングを活用すれば、ユーザーに影響が及ぶ前に潜在的なエラーを発見・修正し、ユーザーエクスペリエンスの水準を引き上げることができます。これは、継続的インテグレーションおよび継続的デプロイメント(CI/CD)環境において特に有用です。
  • 耐障害性を高めます。また、合成モニタリングは、トラフィックのピーク期への備えや、新しい地域や市場におけるパフォーマンス要件の予測にも役立ちます。

また、合成モニタリングツールは、エンドユーザーとのサービスレベル契約(SLA)を確実に遵守しているかを確認するのにも役立ちます。サードパーティのプロバイダーに関わる問題が発生した場合でも、彼らに責任を追及するための準備が整っていることになります。

シンセティックモニタリングの種類

シンセティックモニタリングには通常、可用性モニタリング、Webパフォーマンスモニタリング、トランザクションモニタリングの3種類があります。

  • 可用性モニタリングにより、組織はサイトやアプリケーションが利用可能であり、リクエストに応答していることを確認できます。また、可用性モニタリングでは、より詳細なアプローチを採用することも可能です。例えば、特定のコンテンツが利用可能であるか、あるいは特定の種類のAPI呼び出しが成功しているかを確認するなどです。
  • Webパフォーマンス監視では、通常、ページの読み込み速度やWebページ上の特定の要素のパフォーマンスなど、特定のWebメトリクスを確認します。Webコンテンツ、エラー、および応答の遅延をチェックします。
  • トランザクション監視では、ログイン、フォームへの入力、チェックアウトなどの特定のトランザクションを完了させることを試みます。

シンセティックモニタリングの領域内には、主に2つのシンセティックテストのカテゴリがあります:

  • ブラウザテスト– ロボットクライアントが、ユーザーが試みる可能性のあるトランザクション(購入など)をシミュレートします
  • APIテスト– 組織は、ネットワークおよびアプリケーションインフラストラクチャの各レイヤーにわたる特定のエンドポイントを監視します

APIテストには、HTTP、SSL、DNSなど、さまざまな種類のテストがあります。例えば、APIテストでは、アプリケーションの稼働時間や応答性を監視するために、HTTPテストがよく使用されます。 一方、SSLテストは、有効なSSL証明書を使用してユーザーがサイト上で安全にトランザクションを完了できるかを確認し、DNSテストは、サイトのDNS解決およびルックアップ時間が想定されたパラメータ内にあることを確認します。企業は、特定のワークフローがエンドツーエンドで適切に機能しているかどうかを監視するために、複数のAPIテストを使用する場合があります。この種のAPIモニタリングは、マルチステップAPIテストと呼ばれます。

合成モニタリングの課題

現代のアプリケーションは本質的に複雑です。ユーザーは様々な場所や状況からアクセスするため、合成モニタリングだけでは、発生しうるすべての潜在的なエラーや状況を網羅するには不十分な場合が多くあります。DevOpsチームは、ソフトウェア開発ライフサイクルの早い段階でアプリケーションテストを導入することを優先することで、この問題に対処しています。しかし、専門的な技術知識がなければ合成モニタリングを適切に設定することは依然として困難であり、必要なスキルセットを持つチームメンバーであっても、その設定には時間がかかります。

合成テストは耐障害性が低く、UIのわずかな変更でも容易に失敗し、不要なアラートノイズを発生させてしまいます。つまり、ボタンのようなアプリケーションの些細な要素が変更されるたびに、対応するテストも変更しなければならないということです。そして最後に、多くの合成モニタリングツールには、特定の障害がなぜ発生したのか、あるいはビジネスにどのような影響が及ぶのかを説明するために必要なコンテキストが欠けており、解決までの時間を長引かせ、アプリケーションのパフォーマンス問題の優先順位付けを不必要に困難にしています。

シンセティックモニタリングのメリット

プロアクティブな監視:シンセティック監視により、パフォーマンスの問題や可用性の問題を事前に発見することができます。ユーザーの操作を模倣することで、実際のユーザーに影響が及ぶ前に異常を特定します。この早期発見により、潜在的なサービス停止を未然に防ぎ、よりスムーズなユーザー体験を確保できます。

グローバルなテスト:さまざまな地域におけるアプリケーションのパフォーマンスを評価できます。合成テストは複数の地域から実行されるため、地域ごとのパフォーマンスの差異に関する洞察が得られます。

ブラウザおよびデバイス固有のテスト:合成モニタリングにより、さまざまなブラウザやデバイスにおけるアプリケーションの挙動を評価できます。これにより、互換性の問題を特定し、すべてのユーザーに対して一貫したパフォーマンスを確保できます。

ファイアウォールの内外で動作:実際のユーザーに依存するリアルユーザーモニタリング(RUM)とは異なり、シンセティックモニタリングは完全に自動化でき、組織のネットワーク内外で実行可能です。この柔軟性により、包括的なカバレッジが確保されます。

定期的な自動実行:合成モニタリングは、1分ごとや1時間ごとなど、24時間365日、定期的な間隔で実行できます。この継続的なモニタリングにより、パフォーマンスの低下をタイムリーに検出できます。

合成モニタリングツール

優れた合成モニタリングソリューションは、組織に対してアプリケーションの状況を24時間365日、完全に可視化できるものでなければなりません。これを実現するためには、以下の種類の合成モニターが含まれている必要があります:

  • 単一URLブラウザモニター。単一URLブラウザモニターは、最新のWebブラウザを使用してアプリケーションにアクセスした際のユーザー体験をシミュレートします。パブリックおよびプライベートな場所から頻繁に実行することで、アプリケーションにアクセスできなくなった場合や、ベースラインパフォーマンスが著しく低下した場合にアラートを送信できます。
  • ブラウザクリックパス。ブラウザクリックパスもユーザーの訪問をシミュレートしますが、アプリケーション内の特定のワークフローを監視します。高度な合成監視ソリューションを使用すれば、監視したいクリックやユーザー操作の正確なシーケンスを記録し、ブラウザクリックパスを設定して定期的に自動実行させることができます。
  • HTTPモニター。HTTPモニターは、特定のAPIエンドポイントが利用可能かどうかを監視するのに役立ちます。また、単一リソースの可用性を確認するためのシンプルなHTTPチェックを実行することも可能です。HTTP監視ツールでは、HTTPモニターのパフォーマンス閾値を設定できる必要があります。

シンセティックモニタリングのユースケース

金融サービス

オンラインバンキングシステム:合成モニタリングにより、オンラインバンキングプラットフォームがユーザーに対して常に利用可能で、応答性を維持できるようになります。

決済ゲートウェイ:決済ゲートウェイを監視することで、取引の失敗や遅延を防ぐことができます。

取引プラットフォーム:合成テストにより、金融機関にとって極めて重要な取引システムのパフォーマンスが検証されます。

医療技術

電子カルテ(EHR)システム:合成モニタリングにより、医療従事者がEHRシステムにアクセスでき、応答性が保たれることが保証されます。

患者ポータル:患者ポータルの監視は、患者と医療提供者間の円滑なコミュニケーションを維持するのに役立ちます。

遠隔医療プラットフォーム:合成テストにより、特に需要が集中する時間帯における遠隔医療サービスの信頼性が検証されます。

一般的なWebアプリケーション

可用性テスト:ユーザートラフィックがない場合(例えば、営業時間外など)でも、障害を事前に検知します。

APIエンドポイント:サードパーティ製APIエンドポイントの可用性とパフォーマンスを監視します。

Dynatraceが合成監視をどのように強化するか

アプリケーションのパフォーマンスをより深く理解したいとお考えなら、どのようなシンセティック監視ツールから始めればよいかお悩みかもしれません。 モバイルおよびWebチャネル全体で、最も重要なアプリケーションを通じたビジネスクリティカルなユーザー体験をシミュレートできるソリューションを選ぶことが重要です。これにより、アプリケーションの可用性や、それがユーザー体験に与える影響に関する疑問に即座に答えを得ることができます。また、合成監視ソリューションは、アプリケーションのパフォーマンス問題の根本原因を迅速に特定し、できるだけ早く解決できるよう支援できるものでなければなりません。

Dynatrace Synthetic Monitoringは、アプリケーションのパフォーマンスが低下した瞬間に把握すべきすべての情報を提供します。主要なデスクトップおよびモバイルブラウザをすべて使用してユーザーアクティビティをシミュレートすることで、Dynatraceは、世界中の顧客にとってWeb、モバイル、クラウド、ストリーミングのトランザクションが円滑に行われるよう支援します。

これは、アプリケーションがSLA要件を満たしているかどうかを評価する上で重要であり、ビジネス成果に影響が出ているかどうかを判断する材料となります。また、AI駆動の自動化によってトラブルシューティングを不要にし、ビジネスにとっての重要度順に問題をランク付けすることで、ITチームが根本原因を特定し対処するために必要な時間を大幅に短縮します。

こうした長期的な傾向を把握するために、Dynatrace RUMは顧客体験の全体像を独自に可視化し、ユーザー体験の死角を排除します。また、Session Replayはデジタル体験全体を映し出した確固たる動画証拠を提供するため、ビジネス、開発、運用の各ステークホルダーが協力し、改善すべき点を合意することができます。

これらの高度なデジタルエクスペリエンス監視機能により、世界中のどこからでもアプリケーションのパフォーマンス問題を先回りして特定し、対処することができます。適切な合成監視ソリューションを導入することで、一貫性のある満足度の高い顧客体験を確実に提供できるようになります。