外形監視で重視するのはWebサイトのパフォーマンスです。クライアントとアプリケーションサーバー間のトランザクションパスをエミュレートし、何が起きるかを監視します。
その目標は、ユーザーがアプリケーションやWebサイトで実際にどのような体験をしているかを理解することです。
このブログ記事では、外形監視について詳しくご説明します。外形監視ツールと戦略からより多くのメリットを得る方法もご紹介します。
外形監視は、IT監視の一種で、Webサイトのパフォーマンスに重点を置いています(IT監視にはほかに、アプリケーションパフォーマンス監視やリアルユーザー監視などがあります。それぞれ独自の強みと弱みがあるため、別のカテゴリとして分類されています)。
外形監視では、以下のような疑問点を明らかにできます。
適切な外形監視ツールを使えば、すべての開発工程でテストを実施し、管理された環境で24時間365日体制の監視を行うことができます。また、A/Bテストによるパフォーマンスの効果測定、ベンチマークによる競合企業との比較、地域ごとのパフォーマンスのベースライン設定や傾向分析などもできます。
(大規模環境に対応した先進的な機能を提供するSplunk Synthetic Monitoringについては、こちらのWebサイトをご覧ください。)
外形監視ツールのベンダーは、リモートの(多くの場合はグローバルな)インフラを提供しています。このインフラがWebサイトに定期的にアクセスし、毎回、パフォーマンスデータを記録します。
重要なのは、測定されるトラフィックは実際のユーザーのものではなく、ページのパフォーマンスに関するデータを収集するために合成されたものであることです。
シンプルな外形監視シミュレーションは、3つのコンポーネントで構成されます。
外形監視では、スクリプトを作成して、さまざまなシナリオ、オブジェクトタイプ、環境変数に対応したクライアント/サーバー間のトランザクションパスを生成できます。外形監視ツールは、このスクリプトに記述されたカスタマージャーニーに沿ってアプリケーションやWebサーバーとやり取りし、アプリケーションパフォーマンスデータを収集および分析します。
外形監視でのチェックは定期的に行われます。チェックの実行頻度は通常、チェックする対象によって決まります。たとえば、可用性をチェックする場合は、1分に1回程度が最適です。
以下の項目を含め、あらゆる種類のパフォーマンスを監視できます。
ブラウザ監視:最新のWebブラウザを使ってWebサイトにアクセスするユーザーのエクスペリエンスをシミュレートします。複数の位置情報を使って短い間隔で実行し、以下のような場合にアラートを送信することもできます。
クリックパス監視:ユーザーのアクセスを監視する点はブラウザ監視と同じですが、クリックパス監視では特定のワークフローを監視します。Webサイトの操作をシミュレートする独自のスクリプトを作成し、定期的に実行して、クリックなどの特定のユーザー操作を監視できます。
リンク切れ監視:スクリプトを作成して、特定のURLのリンクすべてをテストします。すべてのエラーが報告されるため、それに基づいて、切れているリンクを個別に調査できます。
HTTP監視:HTTPリクエストを送信して、特定のAPIエンドポイントやリソースが利用できるかどうかを確認します。パフォーマンスのしきい値を設定して、ベースラインを下回ったときにアラートを送信できる製品もあります。
クライアント/サーバー間通信のさまざまな遅延シナリオについて考えてみましょう。
外形監視エージェントが実際のユーザーの行動をエミュレートし、外形監視ツールが、事前定義されたメトリクス(可用性や応答時間など)のデータを収集します。エージェントは、プログラムされたテストルーチンに従って動作します。ルーチンでは以下のような項目を設定します。
シナリオ生成コンポーネントを通じて、パフォーマンス低下やネットワーク障害を再現するさまざまなテストシナリオを挿入できます。各種エージェントの分散方法を指定して、異なるデータセンターからWebサービスにアクセスするグローバルなユーザーベースをシミュレートし、その状況での展開や変化を指定することができます。
外形監視レポートの出力には、グラフや時系列データが含まれます。各種の統計分析手法や機械学習手法を使って、これらの出力をさらに詳しく分析できます。
アナリストは通常、以下の調査を行います。
エージェントによる能動的な調査は、API監視、コンポーネント監視、パフォーマンス監視、負荷テストなど、幅広いタイプの監視に活用できます。
重要なのは、実際の利用シナリオをオンデマンドでエミュレートする点です。これにより、発生頻度が低くいつ起きるかわからないやり取りも調査できます。
外形監視の基本を理解したら、次に考えるべきは、組織のニーズに最適なツールの選び方です。エンタープライズクラスの強力な外形監視ツールに求められる機能をご紹介します。1つずつ詳しく見ていきましょう。
外形監視の主なメリットの1つは、テストするアクションを具体的に定義して、アプリケーションの主な処理の流れ(決済フロー、登録フローなど)を再現し、その機能やパフォーマンスを検証できることです。この機能は一般に、スクリプト作成と呼ばれます。スクリプト作成機能がどれだけ充実しているかは、ツールの有用性に直結します。
スクリプト作成機能については、以下のような点をチェックしましょう。
組織のWebサイトは頻繁に変更されるため、スクリプトが機能しなくなることがあります。そのため、ツールが以下のようなトラブルシューティング機能を備えているかどうかも重要なポイントです。
例として、ミッションクリティカルなユーザー決済フローをテストするときの業界標準のSelenium IDEレコーダーの画面を次に示します。
What-Ifシナリオを使ってさまざまな状況を試し、パフォーマンスへの影響を確認できることも、外形監視ツールの大きなメリットです。各シナリオでのパフォーマンスの変化を簡単かつ明確に把握するための高い柔軟性と幅広いオプションを備えているかどうかが重要なチェックポイントです。
一般的なシナリオをいくつかご紹介します。
これらのシナリオをどれだけ細かくテストできるかは、外形監視ツールにテスト制御オプションがどれだけ用意されているかによって決まります。一般的なWebパフォーマンステストの結果を評価するために役立つ設定オプションには以下のものがあります。
テストオプションを設定することは、まだ道のりの半分にすぎません。これから、すべてのシナリオについて、さまざまな条件の下でテストを実行し、サイトやアプリケーションのパフォーマンスデータを収集、比較する必要があります。
外形監視ソリューションでは、データの比較や差の視覚化の機能も重要です。これらの機能が充実していれば、結果をすばやく簡単に理解できます。チェックすべき必須機能をいくつかご紹介します。
例として、Splunk Synthetic Monitoringでの比較レポートの画面を次に示します。
サイトを外部から能動的にテストする外形監視は、障害や可用性の問題を検出するのに最適です。そのために重要なのが、障害を定義して通知を送信する機能です。
チェックすべきポイントをいくつかご紹介します。
サイトに1回アクセスできないだけでは、障害が発生したとは限りません。誤検知はアラート疲れを生む可能性があります。それを避けるために、以下のような高度な機能を備えているかどうかも確認しましょう。
例として、Splunk Synthetic Monitoringで表示された、エラーが返されたページの実際のスクリーンショットを次に示します。
外形監視ツールでは、障害の検出時に担当者やチームに通知する機能も重要です。最適な通知方法はチームのワークフローによって異なりますが、メールとSMSは必須です。
また、チームのワークフローや仕事スタイルとできるだけ緊密に統合できる通知オプションがあるかどうかも重要なチェックポイントです。最適なオプションがあれば、障害をすばやく確認して対応できます。
チェックすべきオプションをいくつかご紹介します。
例として、一般的なカスタムWebフックの設定画面を次に示します。このようなWebフックの設定機能は外形監視ツールを選定するうえで重要なチェックポイントです。
外形監視ツールの大きな強みの1つは、実際のユーザーによる大量トラフィックを再現せずに、高負荷時のサイトのパフォーマンスとユーザーエクスペリエンス(UX)を評価できることです。
そのため、本稼働前テストやテスト環境(ステージング、UAT、QAなど)で、本稼働を想定したサイトパフォーマンスを確認できます。このテストは、パフォーマンスを品質ゲートとして使用し、時間とともにパフォーマンスが劣化するのを防ぐために非常に役立ちます。
本稼働前テストを行うには、ツールからテスト環境にアクセスして、パフォーマンスデータを収集できる必要があります。また、テスト環境固有の細かい設定の違いに対応できる必要もあります。本稼働前テストを行ううえでチェックすべき点をいくつかご紹介します。
テスト環境の外からテストを行う場合、必要に応じて、IPアドレスをホワイトリストに登録します。セキュリティチームの協力が必要な作業もあるかもしれません。
例として、Splunk Synthetic Monitoringで、Dockerインスタンスを起動して本稼働前サイトのテストを行うための指示画面を次に示します。
外形監視ツールのもう1つの主要ユースケースは、競合他社のパフォーマンスを測定して自社のパフォーマンスと比較し、業界内での自社の立ち位置を明確にすることです。
これは外形監視ならではのユースケースです。リアルユーザー監視やアプリケーションパフォーマンス監視など、他のツールでは、サイトにJavaScriptタグを挿入したり、バックエンドインフラにソフトウェアエージェントをインストールしたりする必要がありますが、こうした作業は当然、他社のWebサイトには行えません。
外形監視ツールを使えば、URLを指定するだけで、自社のサイトと同じくらい簡単に他社のサイトのパフォーマンスを測定できます。
ただし、Webサイトが各種のWebセキュリティ製品で保護されている場合、攻撃、ボット、その他の悪質なトラフィックをブロックする機能により、結果的に外形監視ツールからのトラフィックもブロックされることがあります。実際、外形監視ツールのベンダーが利用するクラウドプロバイダーやデータセンターのIPアドレスがブロックされるのは珍しいことではありません。そのため、外形監視ツールを選定する際は次の点をチェックしましょう。
競合他社がブロックしていないアクセス元からテストを実行できるか
競合他社が使用するセキュリティ製品で外形監視トラフィックがブロックされるもう1つの要因として、ユーザーエージェントも考えられます。ユーザーエージェントが実際のブラウザで使用されているものと異なる場合、ブロックされる可能性があります。そのため、次の点も確認しましょう。
ユーザーエージェントをカスタマイズして、外形監視ツールのトラフィックとして認識される要素をすべて排除できるか
競合他社のパフォーマンスデータとユーザーエクスペリエンスデータを収集できたら、その結果を自社のサイトと比較できるようになります。そのための機能に関して、さらに以下の点をチェックしましょう。
例として、Splunk Synthetic Monitoringの競合ベンチマークダッシュボードの画面を次に示します。
最後にまとめると、外形監視ツールの価値を最大限に引き出すには以下の点を確認することが大切です。
外形監視の主な課題は、利用シナリオを作成する際に立てる前提の妥当性です。テストでは、ユーザーの振る舞いをすべて理解していると仮定することはできません。実際の環境では、ユーザーは思わぬ行動をすることがあります。前述のシナリオ生成コンポーネントによるエミュレーションでは、現実世界の複雑なシナリオを網羅できない可能性があります。
ただし、これらの制約を緩和することはできます。外形監視とリアルユーザー監視を組み合わせることで、外形監視によるデータとリアルユーザー監視によるデータを1つの画面に表示すれば、適切な情報に基づく実用的な統計分析を行うことができます。
Splunk Synthetic Monitoringは、クライアント側のパフォーマンスやユーザーエクスペリエンスを監視して、改善や最適化の方法を提案します。このプロセスをCI/CDワークフローに統合して、手動でのパフォーマンス調査を自動化し、ビジネス全体でパフォーマンスを管理することもできます。
この記事について誤りがある場合やご提案がございましたら、splunkblogs@cisco.comまでメールでお知らせください。
この記事は必ずしもSplunkの姿勢、戦略、見解を代弁するものではなく、いただいたご連絡に必ず返信をさせていただくものではございません。
ダッシュボードが次々と作られるなど、メンバーのSplunkに対する熱量が高かった。自分たちで手を動かして、変化に応じてカスタマイズしていくという時にはこの熱量が重要だと感じた
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。