外形監視とは?

Observability Billy Hoffman , Muhammad Raza

外形監視で重視するのはWebサイトのパフォーマンスです。クライアントとアプリケーションサーバー間のトランザクションパスをエミュレートし、何が起きるかを監視します。

その目標は、ユーザーがアプリケーションやWebサイトで実際にどのような体験をしているかを理解することです。

このブログ記事では、外形監視について詳しくご説明します。外形監視ツールと戦略からより多くのメリットを得る方法もご紹介します。

外形監視とは

外形監視は、IT監視の一種で、Webサイトのパフォーマンスに重点を置いています(IT監視にはほかに、アプリケーションパフォーマンス監視リアルユーザー監視などがあります。それぞれ独自の強みと弱みがあるため、別のカテゴリとして分類されています)。

外形監視では、以下のような疑問点を明らかにできます。

適切な外形監視ツールを使えば、すべての開発工程でテストを実施し、管理された環境で24時間365日体制の監視を行うことができます。また、A/Bテストによるパフォーマンスの効果測定、ベンチマークによる競合企業との比較、地域ごとのパフォーマンスのベースライン設定や傾向分析などもできます。

(大規模環境に対応した先進的な機能を提供するSplunk Synthetic Monitoringについては、こちらのWebサイトをご覧ください。)

外形監視の仕組み

外形監視ツールのベンダーは、リモートの(多くの場合はグローバルな)インフラを提供しています。このインフラがWebサイトに定期的にアクセスし、毎回、パフォーマンスデータを記録します。

重要なのは、測定されるトラフィックは実際のユーザーのものではなく、ページのパフォーマンスに関するデータを収集するために合成されたものであることです。

シンプルな外形監視シミュレーションは、3つのコンポーネントで構成されます。

外形監視では、スクリプトを作成して、さまざまなシナリオ、オブジェクトタイプ、環境変数に対応したクライアント/サーバー間のトランザクションパスを生成できます。外形監視ツールは、このスクリプトに記述されたカスタマージャーニーに沿ってアプリケーションやWebサーバーとやり取りし、アプリケーションパフォーマンスデータを収集および分析します。

  1. 外形監視エージェントが、ターゲットのWebサービスコンポーネントを能動的に調査して、トランザクションの応答を生成します。
  2. 外形監視ツールが、ターゲットとの接続を確立し、エンドユーザーが通常実行する操作でのパフォーマンスデータを収集します。

外形監視でのチェック対象

外形監視でのチェックは定期的に行われます。チェックの実行頻度は通常、チェックする対象によって決まります。たとえば、可用性をチェックする場合は、1分に1回程度が最適です。

以下の項目を含め、あらゆる種類のパフォーマンスを監視できます。

ブラウザ監視:最新のWebブラウザを使ってWebサイトにアクセスするユーザーのエクスペリエンスをシミュレートします。複数の位置情報を使って短い間隔で実行し、以下のような場合にアラートを送信することもできます。

クリックパス監視:ユーザーのアクセスを監視する点はブラウザ監視と同じですが、クリックパス監視では特定のワークフローを監視します。Webサイトの操作をシミュレートする独自のスクリプトを作成し、定期的に実行して、クリックなどの特定のユーザー操作を監視できます。

リンク切れ監視:スクリプトを作成して、特定のURLのリンクすべてをテストします。すべてのエラーが報告されるため、それに基づいて、切れているリンクを個別に調査できます。

HTTP監視:HTTPリクエストを送信して、特定のAPIエンドポイントやリソースが利用できるかどうかを確認します。パフォーマンスのしきい値を設定して、ベースラインを下回ったときにアラートを送信できる製品もあります。

外形監視でのチェック対象

外形監視とリアルユーザー監視の違い

クライアント/サーバー間通信の遅延シナリオ

クライアント/サーバー間通信のさまざまな遅延シナリオについて考えてみましょう。

外形監視エージェントが実際のユーザーの行動をエミュレートし、外形監視ツールが、事前定義されたメトリクス(可用性や応答時間など)のデータを収集します。エージェントは、プログラムされたテストルーチンに従って動作します。ルーチンでは以下のような項目を設定します。

シナリオ生成コンポーネントを通じて、パフォーマンス低下やネットワーク障害を再現するさまざまなテストシナリオを挿入できます。各種エージェントの分散方法を指定して、異なるデータセンターからWebサービスにアクセスするグローバルなユーザーベースをシミュレートし、その状況での展開や変化を指定することができます。

外形監視で注目すべき結果

外形監視レポートの出力には、グラフや時系列データが含まれます。各種の統計分析手法や機械学習手法を使って、これらの出力をさらに詳しく分析できます。

アナリストは通常、以下の調査を行います。

エージェントによる能動的な調査は、API監視、コンポーネント監視、パフォーマンス監視、負荷テストなど、幅広いタイプの監視に活用できます。

重要なのは、実際の利用シナリオをオンデマンドでエミュレートする点です。これにより、発生頻度が低くいつ起きるかわからないやり取りも調査できます。

組織で利用するために必要な外形監視機能

外形監視の基本を理解したら、次に考えるべきは、組織のニーズに最適なツールの選び方です。エンタープライズクラスの強力な外形監視ツールに求められる機能をご紹介します。1つずつ詳しく見ていきましょう。

ユーザーフローとビジネストランザクションのスクリプト作成

外形監視の主なメリットの1つは、テストするアクションを具体的に定義して、アプリケーションの主な処理の流れ(決済フロー、登録フローなど)を再現し、その機能やパフォーマンスを検証できることです。この機能は一般に、スクリプト作成と呼ばれます。スクリプト作成機能がどれだけ充実しているかは、ツールの有用性に直結します。

スクリプト作成機能については、以下のような点をチェックしましょう。

組織のWebサイトは頻繁に変更されるため、スクリプトが機能しなくなることがあります。そのため、ツールが以下のようなトラブルシューティング機能を備えているかどうかも重要なポイントです。

例として、ミッションクリティカルなユーザー決済フローをテストするときの業界標準のSelenium IDEレコーダーの画面を次に示します。

Selenium IDEレコーダーの画面

パフォーマンスの測定と比較

What-Ifシナリオを使ってさまざまな状況を試し、パフォーマンスへの影響を確認できることも、外形監視ツールの大きなメリットです。各シナリオでのパフォーマンスの変化を簡単かつ明確に把握するための高い柔軟性と幅広いオプションを備えているかどうかが重要なチェックポイントです。

一般的なシナリオをいくつかご紹介します。

これらのシナリオをどれだけ細かくテストできるかは、外形監視ツールにテスト制御オプションがどれだけ用意されているかによって決まります。一般的なWebパフォーマンステストの結果を評価するために役立つ設定オプションには以下のものがあります。

テストオプションを設定することは、まだ道のりの半分にすぎません。これから、すべてのシナリオについて、さまざまな条件の下でテストを実行し、サイトやアプリケーションのパフォーマンスデータを収集、比較する必要があります。

外形監視ソリューションでは、データの比較や差の視覚化の機能も重要です。これらの機能が充実していれば、結果をすばやく簡単に理解できます。チェックすべき必須機能をいくつかご紹介します。

例として、Splunk Synthetic Monitoringでの比較レポートの画面を次に示します。

比較レポートの画面

強力なアラート機能とインテグレーション

サイトを外部から能動的にテストする外形監視は、障害や可用性の問題を検出するのに最適です。そのために重要なのが、障害を定義して通知を送信する機能です。

チェックすべきポイントをいくつかご紹介します。

サイトに1回アクセスできないだけでは、障害が発生したとは限りません。誤検知はアラート疲れを生む可能性があります。それを避けるために、以下のような高度な機能を備えているかどうかも確認しましょう。

例として、Splunk Synthetic Monitoringで表示された、エラーが返されたページの実際のスクリーンショットを次に示します。

エラーが返されたページ

外形監視ツールでは、障害の検出時に担当者やチームに通知する機能も重要です。最適な通知方法はチームのワークフローによって異なりますが、メールとSMSは必須です。

また、チームのワークフローや仕事スタイルとできるだけ緊密に統合できる通知オプションがあるかどうかも重要なチェックポイントです。最適なオプションがあれば、障害をすばやく確認して対応できます。

チェックすべきオプションをいくつかご紹介します。

例として、一般的なカスタムWebフックの設定画面を次に示します。このような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

Splunk Synthetic Monitoringは、クライアント側のパフォーマンスやユーザーエクスペリエンスを監視して、改善や最適化の方法を提案します。このプロセスをCI/CDワークフローに統合して、手動でのパフォーマンス調査を自動化し、ビジネス全体でパフォーマンスを管理することもできます。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

KDDI株式会社 KDDI株式会社

お客様事例

KDDI株式会社ロゴ

KDDI、Splunk Enterpriseでスマホ決済サービス「au PAY」のオブザーバビリティ向上を実現 「守りの情シス」から「攻めの情シス」へ変革

事例を読む

ダッシュボードが次々と作られるなど、メンバーのSplunkに対する熱量が高かった。自分たちで手を動かして、変化に応じてカスタマイズしていくという時にはこの熱量が重要だと感じた

KDDI 株式会社
技術統括本部 情報システム本部
DXシステム1部
副部長
齊藤 健 氏

関連記事

ネットワークとサービスのインテリジェンスが現代のインシデント対応戦略に欠かせない理由:パート1
オブザーバビリティ
4 分程度

ネットワークとサービスのインテリジェンスが現代のインシデント対応戦略に欠かせない理由:パート1

現代のインシデント対応では、スピードだけでなくスマートさが重要になります。MTTRを短縮し、問題の優先順位を適切に決定し、複雑化するIT環境をスムーズに管理する上で、ネットワークとサービスのコンテキストを関連付けることが不可欠である理由についてご説明します。
オブザーバビリティを実現するSplunk Observability Cloudの主要な機能
オブザーバビリティ
4 分程度

オブザーバビリティを実現するSplunk Observability Cloudの主要な機能

Splunk Observability Cloudにはオブザーバビリティを実現するための様々な機能が提供されています。本記事では全体像と主要な機能の用途、データ取込方法について解説します。
高精度な可視化!Splunkの新機能を使い、テクノロジースタックを完全に可視化して問題を迅速に特定
オブザーバビリティ
5 分程度

高精度な可視化!Splunkの新機能を使い、テクノロジースタックを完全に可視化して問題を迅速に特定

Splunkの新機能で、可視性の向上、調査の簡素化、トラブルシューティングの迅速化を実現してチームを強化できます。