HTTPアクティブディスカバリー

最終更新日: 25 年 2020 月 XNUMX 日

マルチインスタンスデータソースを構成する場合、Active Discoveryを有効にし、続いてActive Discoveryがインスタンスを検索するために使用するプロトコル(SNMP、WMI、HTTPなど)を定義するオプションがあります。

このサポート記事では、HTTP Active Discoveryメソッド、そのさまざまなパラメーター、およびそれがサポートするXNUMXつのモードの概要を説明します。

注: HTTP ActiveDiscoveryは認証をサポートしていません。 HTTPエンドポイントで認証が必要な場合は、ActiveDiscoveryのスクリプトを作成する必要があります。

HTTPアクティブディスカバリパラメータ

Active DiscoveryパラメーターのHTTPメソッドには、次の構成が含まれます。

  • HTTP URL(必須): 検出中にターゲットサーバーに送信するURL。 たとえば、URLが「/ server-status」の場合、次のようなHTTPリクエストがターゲットサーバーに送信されます。
    GET / server-status HTTP / 1.0接続:閉じるUser-Collector:LogicMonitorCollector / 1.0
  • 正規表現(必須): HTTP Active Discoveryが抽出モードで実行されている場合、これは後方参照を含む正規表現である必要があります。たとえば、「Customer ID:(\ d +)」、「(\ d +)」はキャプチャされた部分文字列です。 Active DiscoveryのHTTPメソッドは、応答に対して正規表現を適用して、すべての一致をキャプチャし、それらをインスタンスとして返します。
  • リダイレクトに従う(オプション): デフォルトでは、HTTP Active Discoveryは、応答ステータスコードが2xxの場合にのみ応答を処理します。 それ以外の場合は、エラーが報告されます。 followRedirectを「true」に設定すると、HTTP Active Discoveryは新しい場所へのHTTPリダイレクトに従って最終応答をフェッチし、元の要求に応答して返されたかのように処理します。
  • SSLを使用する(オプション):デフォルトでは、HTTP ActiveDiscoveryはプレーンテキストでターゲットホストにリクエストを送信します。 sslを「true」に設定すると、ポート443でSSLを介してWebサーバーと通信できます。
  • 大文字と小文字の区別を一致させる(オプション): このオプションを選択すると、大文字と小文字を区別して強制的に一致させることができます。
  • ポート番号リスト: 空の場合、HTTPディスカバリーは抽出モードで機能します。それ以外の場合、HTTPディスカバリーはポートモードで機能します。 このフィールドは、ActiveDiscoveryが要求を送信するポート番号のリストを指定します。 ポートは、単一のポート番号(80など)、コンマで区切られた複数のポート番号(80,8080,8888など)、ポート範囲(8080-8100など)、または複数のポート番号と範囲をコンマで区切ったもの(8080など)にすることができます。 – 8100、80、8000)。

抽出モード

抽出モードでは、ユーザーはURLと、キャプチャグループを介して部分文字列を返す正規表現を指定する必要がありますが、ポートリストは空のままにしておきます。

HTTP Active Discoveryメソッドは、指定されたURIを取得するためにターゲットサーバーにHTTP要求を送信し、応答(ヘッダーとペイロードを含む)に対して正規表現を適用して、部分文字列に一致するインスタンスを抽出します。 後方参照に一致する返される各部分文字列は、検出されたインスタンスになります。

必要なパラメーター

  • HTTPURL:ポートとパス、またはパスのみを指定するURL:例:https:// ## HOSTNAME ##:8443 / customersまたは/ customers(ポート80を使用する場合)
  • 正規表現: 照合するテキストとキャプチャグループを指定します。 キャプチャグループの一致する各オカレンスは、インスタンスとして返されます。

例:すべての顧客を検索する

すべての顧客のIDを含み、次のような出力を返すWebページ「/ customer-list」を想像してみてください。

顧客ID:1234顧客ID:2345顧客ID:3456

データソースには、インスタンスとしてそれらの顧客IDが必要です。 この場合、HTTP ActiveDiscoveryメソッドは次のようにパラメーターを指定します。

Active Discoveryは、HTTPリクエスト「/ customer-list」をホストに送信し、正規表現「customer id:(\ d +)」をレスポンスに適用します。 この正規表現は、ページ内の1234つのID(2345、3456、XNUMX)をキャプチャし、それらを監視対象のインスタンスとして返します。

ポートモード

ポートモードで作業する場合、ユーザーはポートリスト、URI、および正規表現を指定します(注:ポートモードの正規表現は部分文字列をキャプチャする必要はありません)。 Active Discoveryは、ポートリスト内の各ポートにHTTP要求を送信し、応答(ヘッダーとペイロードを含む)に正規表現を適用します。 そのポートからのHTTP応答の部分文字列が正規表現と一致する場合、そのポートはインスタンスとして返されます。

例:すべてのApacheインスタンスを検索する

たとえば、会社が異なるサーバー上の異なるポートでApacheを実行している場合、同じサーバー上に複数のApacheプロセスがある場合は、ポートモードを使用してこれを検出できます。

Apacheサーバーは、サーバーの使用状況に関する統計を報告するステータスページ(/ server-status)をサポートしています。 ApacheデータソースのActiveDiscoveryは、次のように定義できます。

例-すべてのApacheインスタンスを検索する

Active Discoveryは、80〜83の範囲の各ポートに「/ server-status」を送信し、応答に正規表現「> ApacheStatus <」に一致する部分文字列があるかどうかを確認します。 その場合、インスタンスのXNUMXつとしてそのポートを返します。

記事上で