今日の企業では、カスタマーサービスが中断しないように、ソフトウェアアプリケーションやITインフラを継続的に監視するのが一般的です。
能動的な監視と受動的な監視は、大企業がインフラとアプリケーションパフォーマンス監視(APM)に使用する一般的な手法です。両者の名前が示すように、これら2つのアプローチは大きく異なります。
このブログ記事では、能動的な監視と受動的な監視の違いと、両者のユースケース、データ量、データ制御について説明します。また、両者のメリットとデメリットについても比較します。
このブログ記事では対象のトピックを総合的に解説します。そのため、先に主要なポイントをまとめておきます。まずはこの表を確認し、詳しい内容については続きをお読みください。
特徴 | 能動的な監視 | 受動的な監視 |
対象データの性質 | 人為的に作成したデータ | 実際のデータ |
データ量 | 使用するデータ量が少ない | 使用するデータ量が多い |
ユースケース | QoSテスト、問題の特定、新しいハードウェアの評価、パフォーマンスのベンチマーク測定 | インフラの健全性とステータスの監視、使用パターンの特定、パーソナライズされたユーザーエクスペリエンスの提供、侵入検知システム |
データの制御 | トラフィックパケットの量、サイズ、期間などのデータを制御する | データを制御できる余地は少ない |
問題の特定 | プロアクティブ | リアクティブ |
ストレージの要件 | データ量が少ないため、ストレージ要件も少ない | 高度で拡張性の高いストレージデバイスが必要 |
処理能力の要件 | データ量が少なく複雑ではないため、計算負荷が低い | データ量が多く複雑であるため、データ処理と分析の計算負荷が高くなる可能性がある |
プライバシーの問題 | 人為的に生成したデータを使用するためプライバシーの問題はない | 実データの取得に関するプライバシーの問題に対処する必要がある |
データの複雑性 | 人為的に生成されたデータは受動的な監視で得られるデータほど複雑ではない | さまざまなデータ型を取得するため複雑性が高くなる |
特定できる問題の性質 | テストが一定期間にわたって行われるため、断続的な問題を特定できない | 断続的で複雑な問題を特定できる |
能動的な監視とは、以下に挙げる対象のパフォーマンスをプロアクティブに監視することです。
能動的な監視は、人為的に生成されたデータの結果に対して行われます。たとえば、アクティブなネットワークの監視中に、テスト用のネットワークパケットを取り込み、ネットワークの実際の挙動を再現します。これにより、さまざまなパフォーマンスパラメーターの測定値を観察できるようになります。このプロセスでは、パフォーマンスを予測するために追加のトラフィックが作成されます。
アプリケーションやサービスの能動的な監視では、ジャーニーを人為的に作成します。その際、テストアカウントを使用してアプリケーション内の重要なユーザージャーニーを再現します。能動的な監視は実際のデータを使用しないため、「外形監視」とも呼ばれます。
一方、受動的な監視では、実際のデータを使用してネットワーク、アプリケーション、インフラのパフォーマンスを測定および分析します。受動的な監視では、特別なデバイスとソフトウェアを使用することで、実際のパフォーマンスを包括的かつ詳細に調べられます。
たとえば、受動的なネットワーク監視は以下のように行います。
能動的な監視とは異なり、受動的な監視では大規模なデータを処理しますが、通常のネットワークフローに新たなデータを追加しません。
(関連記事:リアルユーザー監視(RUM)、Splunk RUMの製品ページ)
扱うデータの性質と分析アプローチに応じて、この2つの手法にはいくつかのユースケースがあります。ここではそのユースケースについて説明します。
能動的な監視では予測的なアプローチを使用するため、以下のシナリオに最適です。
受動的な監視では実際のデータを使用してパフォーマンスを監視するため、以下のシナリオに最適です。
どちらの手法もユーザーデータを使用して調査対象システムを継続的に監視します。ただし、データ量とデータの制御の点で、両者には大きな違いがあります。
データ量が少なく、要件が厳しくない:能動的な監視では、一定の期間に対象を絞った特定のテストを行うため、使用するデータ量は受動的な監視に比べてはるかに少なくなります。つまり、以下に挙げるようなテスト対象の特定のパフォーマンス指標に焦点を絞り、それに関連したデータを使用します。
そのため、ネットワークに流すデータの量やさまざまな属性を微調整できます。少量のデータだけで、有意義な測定値が得られます。
環境を制御できる:能動的な監視では、生成するデータとシミュレーション環境をより細かく調整できる点も重要です。たとえば、実行する期間や、ネットワーク監視の場合はパケットのサイズや種類などを決めることができます。
一方、受動的な監視ではデータを継続的に取得するため、分析するデータが多くなります。実際、受動的な監視では、24時間365日連続でデータを収集できます。こうしたデータはさまざまなソースから取得されますが、一般的なものを以下に紹介します。
収集されたデータがすべて蓄積されるため、ストレージ要件がより厳しくなります。また、あらゆる分析が能動的な監視よりも複雑になります。ここで重要なのは、受動的な監視は、能動的な監視と比較して、生成されたデータを制御しにくいという点です。
どちらの手法も組織にとって多くのメリットをもたらします。
根本的な問題をプロアクティブに特定できる:能動的な監視は、ユーザーがシステムを利用する前であっても、システムの稼働中にユーザージャーニーやネットワークの動作を継続的に再現できます。そのため、実際のユーザーに影響が及ぶ前に問題を特定できます(この点は受動的な監視と異なります。受動的な監視では、実際のユーザーに影響が発生した後で問題を特定します)。
プライバシーの問題がない:能動的な監視では、実際のデータを使用した分析を行いません。そのため、ユーザーデータのプライバシー保護に関する問題が発生しません。
負荷テストに使用できる:ITチームは、標準化した負荷テストのシナリオを作成して、負荷の量を調整しながらシステムパフォーマンスをテストできます。パケットキャプチャでは特定できない潜在的なパフォーマンスの問題を見つけるのにも役立ちます。
詳細なインサイトを取得できる:受動的な監視では多くのリアルタイムデータを処理するため、使用パターンに関する詳細な情報を得ることができます。高度な監視を行う組織では、こうしたデータを機械学習モデルに取り込み、より正確な分類とクラスタリングを行います。
複雑な問題を特定する:受動的な監視は、断続的に発生する問題を見つけるのに役立ちます。こうした問題は、能動的な監視では検出されません。
能動的な監視よりもコストが低い:受動的な監視は、能動的な監視よりも設定が簡単です。人為的なトラフィック生成のためにリソースを用意する必要がありません。そのため、コスト効率が高く、特に大企業にとってそのメリットは大きくなります。
セキュリティの問題を未然に特定する:大規模なリアルタイムトラフィックの分析は、セキュリティ侵害の兆候を検出するのに役立ちます。
上記のようなメリットもありますが、どちらの手法にもデメリットがあります。監視を行う際には、デメリットについても考慮する必要があります。
この記事で解説したように、能動的な監視と受動的な監視の大きな違いは、さまざまなパフォーマンス指標のテストに使用するデータにあります。使用するデータの性質や監視のアプローチの違いから、どちらの手法にも固有のメリットとデメリットがあります。能動的または受動的な監視を組織で採用する際には、これらの点を考慮することをお勧めします。
このブログはこちらの英語ブログの翻訳です。
この記事について誤りがある場合やご提案がございましたら、ssg-blogs@splunk.comまでメールでお知らせください。
この記事は必ずしもSplunkの姿勢、戦略、見解を代弁するものではなく、いただいたご連絡に必ず返信をさせていただくものではございません。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。