能動的な監視と受動的な監視の比較
IT Shanika Wickramasinghe今日の企業では、カスタマーサービスが中断しないように、ソフトウェアアプリケーションやITインフラを継続的に監視するのが一般的です。
能動的な監視と受動的な監視は、大企業がインフラとアプリケーションパフォーマンス監視(APM)に使用する一般的な手法です。両者の名前が示すように、これら2つのアプローチは大きく異なります。
このブログ記事では、能動的な監視と受動的な監視の違いと、両者のユースケース、データ量、データ制御について説明します。また、両者のメリットとデメリットについても比較します。
概要:能動的な監視と受動的な監視
このブログ記事では対象のトピックを総合的に解説します。そのため、先に主要なポイントをまとめておきます。まずはこの表を確認し、詳しい内容については続きをお読みください。
能動的な監視とは?
能動的な監視とは、以下に挙げる対象のパフォーマンスをプロアクティブに監視することです。
- ネットワーク
- アプリケーション
- インフラ
能動的な監視は、人為的に生成されたデータの結果に対して行われます。たとえば、アクティブなネットワークの監視中に、テスト用のネットワークパケットを取り込み、ネットワークの実際の挙動を再現します。これにより、さまざまなパフォーマンスパラメーターの測定値を観察できるようになります。このプロセスでは、パフォーマンスを予測するために追加のトラフィックが作成されます。
アプリケーションやサービスの能動的な監視では、ジャーニーを人為的に作成します。その際、テストアカウントを使用してアプリケーション内の重要なユーザージャーニーを再現します。能動的な監視は実際のデータを使用しないため、「外形監視」とも呼ばれます。
受動的な監視とは?
一方、受動的な監視では、実際のデータを使用してネットワーク、アプリケーション、インフラのパフォーマンスを測定および分析します。受動的な監視では、特別なデバイスとソフトウェアを使用することで、実際のパフォーマンスを包括的かつ詳細に調べられます。
たとえば、受動的なネットワーク監視は以下のように行います。
- パケットスニファーでネットワークトラフィックの監視と分析を行う。
- ポーリングを行い、情報を定期的に収集する。
能動的な監視とは異なり、受動的な監視では大規模なデータを処理しますが、通常のネットワークフローに新たなデータを追加しません。
(関連記事:リアルユーザー監視(RUM)、Splunk RUMの製品ページ)
能動的な監視と受動的な監視のユースケース
扱うデータの性質と分析アプローチに応じて、この2つの手法にはいくつかのユースケースがあります。ここではそのユースケースについて説明します。
能動的な監視
能動的な監視では予測的なアプローチを使用するため、以下のシナリオに最適です。
- ネットワークのサービス品質(QoS)をテストする:シミュレーションを実行することで、レイテンシーや帯域幅などの指標について、ネットワークがQoSの要件を満たしているかをテストできます。
- アプリケーションの潜在的な問題を特定する:アプリケーションの監視では、テスト用のアカウントとデータを使用して、定期的に実行する人為的なジャーニーを生成できます。こうしたジャーニーでエラーが発生した場合は、何らかの問題が潜んでいることが疑われるため、エンドユーザーに影響が及ぶ前に修正できます。
- 新しいハードウェアリソースのパフォーマンスを評価する:新しいハードウェアをネットワークに導入する前に能動的な監視を行い、既存のハードウェアと比較してパフォーマンスのベースラインを確立します。
- ネットワークパフォーマンスのベンチマークを設定する:たとえば、特定のユーザーフローの実行中に、CPU、メモリー、ディスクI/O、ネットワークの使用率のベンチマークを設定できます。
受動的な監視
受動的な監視では実際のデータを使用してパフォーマンスを監視するため、以下のシナリオに最適です。
- サーバーやネットワークのステータスと健全性を監視する:アプリケーションサーバーやルーターまたはスイッチなどのネットワークデバイスに定期的にpingを送信して、その結果を基にサーバーの健全性やステータスを把握できます。
- 顧客の使用傾向を特定する:実際のデータフィードを定期的に監視することで、顧客の使用パターンの全体像や改善の見込みがある部分が明らかになります。
- ユーザーエクスペリエンスをパーソナライズする:顧客の使用傾向を経時的に分析することで、顧客の好みを特定し、サービスをパーソナライズできます。
- 直ちに対応が必要な問題を見つけて警告する:エンドユーザーに直接的な影響を及ぼす問題を特定し、すぐに対応できるようにします。
- 侵入検知システムを実行する:侵入検知システム(IDS)は、ネットワークを継続的に監視して、通常とは異なるトラフィックパターンがあった場合に通知します。このようなパターンは、マルウェアや攻撃の試みの可能性があります。
データ量とデータの制御
どちらの手法もユーザーデータを使用して調査対象システムを継続的に監視します。ただし、データ量とデータの制御の点で、両者には大きな違いがあります。
能動的な監視
データ量が少なく、要件が厳しくない:能動的な監視では、一定の期間に対象を絞った特定のテストを行うため、使用するデータ量は受動的な監視に比べてはるかに少なくなります。つまり、以下に挙げるようなテスト対象の特定のパフォーマンス指標に焦点を絞り、それに関連したデータを使用します。
- 帯域幅
- レイテンシー
- スループット
- パケットロス
そのため、ネットワークに流すデータの量やさまざまな属性を微調整できます。少量のデータだけで、有意義な測定値が得られます。
環境を制御できる:能動的な監視では、生成するデータとシミュレーション環境をより細かく調整できる点も重要です。たとえば、実行する期間や、ネットワーク監視の場合はパケットのサイズや種類などを決めることができます。
受動的な監視
一方、受動的な監視ではデータを継続的に取得するため、分析するデータが多くなります。実際、受動的な監視では、24時間365日連続でデータを収集できます。こうしたデータはさまざまなソースから取得されますが、一般的なものを以下に紹介します。
- センサー
- ネットワークトラフィック
- エラーログ
収集されたデータがすべて蓄積されるため、ストレージ要件がより厳しくなります。また、あらゆる分析が能動的な監視よりも複雑になります。ここで重要なのは、受動的な監視は、能動的な監視と比較して、生成されたデータを制御しにくいという点です。
メリット
どちらの手法も組織にとって多くのメリットをもたらします。
能動的な監視のメリット
根本的な問題をプロアクティブに特定できる:能動的な監視は、ユーザーがシステムを利用する前であっても、システムの稼働中にユーザージャーニーやネットワークの動作を継続的に再現できます。そのため、実際のユーザーに影響が及ぶ前に問題を特定できます(この点は受動的な監視と異なります。受動的な監視では、実際のユーザーに影響が発生した後で問題を特定します)。
プライバシーの問題がない:能動的な監視では、実際のデータを使用した分析を行いません。そのため、ユーザーデータのプライバシー保護に関する問題が発生しません。
負荷テストに使用できる:ITチームは、標準化した負荷テストのシナリオを作成して、負荷の量を調整しながらシステムパフォーマンスをテストできます。パケットキャプチャでは特定できない潜在的なパフォーマンスの問題を見つけるのにも役立ちます。
受動的な監視のメリット
詳細なインサイトを取得できる:受動的な監視では多くのリアルタイムデータを処理するため、使用パターンに関する詳細な情報を得ることができます。高度な監視を行う組織では、こうしたデータを機械学習モデルに取り込み、より正確な分類とクラスタリングを行います。
複雑な問題を特定する:受動的な監視は、断続的に発生する問題を見つけるのに役立ちます。こうした問題は、能動的な監視では検出されません。
能動的な監視よりもコストが低い:受動的な監視は、能動的な監視よりも設定が簡単です。人為的なトラフィック生成のためにリソースを用意する必要がありません。そのため、コスト効率が高く、特に大企業にとってそのメリットは大きくなります。
セキュリティの問題を未然に特定する:大規模なリアルタイムトラフィックの分析は、セキュリティ侵害の兆候を検出するのに役立ちます。
デメリット
上記のようなメリットもありますが、どちらの手法にもデメリットがあります。監視を行う際には、デメリットについても考慮する必要があります。
能動的な監視のデメリット
- データ生成に関連する問題:たとえば能動的なネットワーク監視では、人為的に生成したトラフィックを追加することで、実際のネットワークが圧迫される可能性があります。また、能動的な監視はそもそも侵入的なものであるため、ネットワークの通常運用に影響が生じる可能性があります。
- 正確性の問題:能動的な監視は人為的なデータを生成するため、結果の正確性は受動的な監視よりも低くなるおそれがあります。
- 追加のコスト:監視の準備、トラフィックの生成、人為的トランザクションの設定を行うために、追加のリソースが必要になります。これには追加コストも発生します。
受動的な監視のデメリット
- 大量のデータに関連する問題:受動的な監視では、キャプチャしたデータを処理するために多くのストレージ容量と高い処理能力が必要になります。
- 問題の特定が遅れる:受動的な監視では、テストを実行するためにユーザーの継続的な操作が必要になります。そのため、トラフィック量が少ない場合は問題を特定できず、ユーザーに影響が出てから問題に気付く場合があります。
- ユーザーデータのプライバシーの問題:受動的な監視でキャプチャするデータには、機密性の高い個人情報が含まれている可能性があり、こうしたデータの取得はプライバシーに関する法規制に違反するおそれがあります。そのため、受動的な監視を実行する組織では、このようなデータのキャプチャを停止する必要があります。
スマートな組織では両方の監視方法を活用
この記事で解説したように、能動的な監視と受動的な監視の大きな違いは、さまざまなパフォーマンス指標のテストに使用するデータにあります。使用するデータの性質や監視のアプローチの違いから、どちらの手法にも固有のメリットとデメリットがあります。能動的または受動的な監視を組織で採用する際には、これらの点を考慮することをお勧めします。
関連記事

分散システムの基本

IT運用管理(ITOM):基本
