すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:HTTP データの収集

最終更新日:Jul 31, 2025

Logtail は、Logtail 構成に基づいて、指定された URL に定期的に HTTP リクエストを送信します。その後、Logtail は応答の本文をデータソースとして Simple Log Service にアップロードします。このトピックでは、Simple Log Service コンソールで Logtail 構成を作成し、Logtail 構成を使用して HTTP データを収集する方法について説明します。

前提条件

サーバーに Logtail がインストールされていること。詳細については、「Linux サーバーに Logtail をインストールする」または「Windows サーバーに Logtail をインストールする」をご参照ください。

説明

Linux サーバーは Logtail V0.16.0 以降をサポートしています。Windows サーバーは Logtail V1.0.0.8 以降をサポートしています。

実装

Logtail は、Logtail 構成で指定された URL、メソッド、ヘッダー、および本文に基づいて、指定された URL に HTTP リクエストを送信します。その後、Logtail は、応答ステータスコード、応答本文、および応答時間をデータソースとして Simple Log Service にアップロードします。

实现原理

機能

  • 複数の URL を指定できます。

  • HTTP リクエストメソッドを指定できます。

  • リクエストを送信する間隔を指定できます。

  • カスタムリクエストヘッダーを指定できます。

  • HTTPS を使用できます。

  • 応答の本文が固定パターンと一致するかどうかを確認できます。

シナリオ

  • HTTP API 操作を使用してサービスステータスを監視できます。たとえば、次の種類のサービスを監視できます。

    • NGINX

    • HTTP API 操作を使用した監視をサポートする Docker

    • Elasticsearch

    • HAProxy

    • HTTP API 操作を使用した監視をサポートするその他のサービス

  • サービスの可用性を監視できます。

    Logtail は、定期的にサービスにリクエストを送信し、応答ステータスコードとリクエストレイテンシを確認することにより、サービスの可用性を監視します。

  • Weibo のコメントやフォロワー数などのデータを定期的にプルできます。

制限

  • URL は http または https で始まる必要があります。

  • カスタム証明書はサポートされていません。

  • インタラクティブな通信はサポートされていません。

手順

次の手順は、NGINX ステータスモジュールから HTTP データを収集する方法を示しています。リクエストは、1,000 ミリ秒の間隔で URL http://127.0.0.1/ngx_status に送信されます。正規表現を使用して、応答の本文からステータス情報を抽出します。

  1. [Simple Log Service コンソール] にログオンします。

  2. ページの右側にある [データのインポート] をクリックし、[カスタムデータプラグイン] を選択します。

  3. プロジェクトとログストアを選択します。次に、[次へ] をクリックします。

  4. マシングループを作成します。

    • マシングループが使用可能な場合は、[既存のマシングループを使用する] をクリックします。

    • 使用可能なマシングループがない場合は、次の手順を実行してマシングループを作成します。この例では、Elastic Compute Service (ECS) インスタンスを使用します。

      1. [ECS インスタンス] タブで、[インスタンスを手動で選択] を選択します。次に、使用する ECS インスタンスを選択し、[作成] をクリックします。

        詳細については、「ECS インスタンスに Logtail をインストールする」をご参照ください。

        重要

        サーバーが Simple Log Service とは異なる Alibaba Cloud アカウントに属する ECS インスタンス、データセンター内のサーバー、またはサードパーティのクラウド サービス プロバイダーのサーバーである場合は、サーバーに Logtail を手動でインストールする必要があります。詳細については、「Linux サーバーに Logtail をインストールする」または「Windows サーバーに Logtail をインストールする」をご参照ください。Logtail を手動でインストールした後、サーバーのユーザー識別子を構成する必要があります。詳細については、「ユーザー識別子を構成する」をご参照ください。

      2. 設定を確認した後、[OK] をクリックします。

      3. Logtail がインストールされたら、[インストールの完了] をクリックします。

      4. [マシングループの作成] ステップで、[名前] パラメーターを構成し、[次へ] をクリックします。

        Simple Log Service では、IP アドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。詳細については、「IP アドレスベースのマシングループを作成する」および「カスタム識別子ベースのマシングループを作成する」をご参照ください。

  5. マシングループが [適用済みサーバーグループ] セクションに表示されていることを確認し、[次へ] をクリックします。

    重要

    マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスが [失敗] になる場合があります。この問題は、マシングループが Simple Log Service に接続されていないために発生します。この問題を解決するには、[自動再試行] をクリックします。問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合はどうすればよいですか?」をご参照ください。

  6. [データソースの指定] ステップで、[構成名][プラグイン構成] を構成します。次に、[次へ] をクリックします。

    Logtail プラグインコレクション

    • inputs は必須であり、Logtail 構成のデータソース設定を構成するために使用されます。

      重要

      inputs には、1 つのタイプのデータソースのみを指定できます。

    • processors はオプションであり、データを解析するために Logtail 構成のデータ処理設定を構成するために使用されます。1 つ以上の処理方法を指定できます。

      ログを inputs の設定のみに基づいて解析できない場合は、[プラグイン構成] フィールドで processors を構成して、データ処理用のプラグインを追加できます。たとえば、フィールドの抽出、ログ時間の抽出、データのマスキング、ログのフィルタリングなどができます。詳細については、「Logtail プラグインを使用してデータを処理する」をご参照ください。

    {
     // 入力設定
     "inputs": [
         {
             "type": "metric_http", // データソースのタイプ
             "detail": {
                 "IntervalMs": 1000, // リクエスト間隔(ミリ秒)
                 "Addresses": [
                     "http://127.0.0.1/ngx_status" // リクエストURL
                 ],
                 "Headers": {"key":"value"}, // リクエストヘッダー
                 "IncludeBody": true // レスポンスボディを含めるかどうか
             }
         }
     ],
     // プロセッサ設定
     "processors" : [
         {
             "type": "processor_regex", // 正規表現プロセッサ
             "detail" : {
                 "SourceKey": "content", // 対象キー
                 "Regex": "Active connections: (\\d+)\\s+server accepts handled requests\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+Reading: (\\d+) Writing: (\\d+) Waiting: (\\d+).*", // 正規表現
                 "Keys": [
                     "connection", // 接続数
                     "accepts", // 受け入れ数
                     "handled", // 処理済み数
                     "requests", // リクエスト数
                     "reading", // 読み取り数
                     "writing", // 書き込み数
                     "waiting" // 待機数
                 ],
                 "FullMatch": true, // 完全一致
                 "NoKeyError": true, // キーエラーを無視
                 "NoMatchError": true, // 一致エラーを無視
                 "KeepSource": false // 元のデータを保持しない
             }
         }
     ]
    }

    パラメーター

    タイプ

    必須

    説明

    type

    文字列

    はい

    データソースのタイプ。値を metric_http に設定します。

    Addresses

    文字列配列

    はい

    URL。

    重要

    URL は http または https で始まる必要があります。

    IntervalMs

    整数

    はい

    2 つの連続したリクエストの間隔。単位:ミリ秒。

    Method

    文字列

    いいえ

    リクエストメソッド。デフォルト値:GET。値は大文字である必要があります。

    Body

    文字列

    いいえ

    HTTP リクエストの本文。このパラメーターはデフォルトでは空です。

    Headers

    キー:文字列、値:文字列マップ

    いいえ

    HTTP リクエストのヘッダー。このパラメーターはデフォルトでは空です。例:{"key":"value"}。ビジネスシナリオに基づいてこのパラメーターを構成します。

    PerAddressSleepMs

    整数

    いいえ

    Addresses パラメーターで指定された URL にリクエストを送信する間隔。単位:ミリ秒。デフォルト値:100。

    ResponseTimeoutMs

    整数

    いいえ

    リクエストのタイムアウト期間。単位:ミリ秒。デフォルト値:5000。

    IncludeBody

    ブール値

    いいえ

    リクエスト本文を収集するかどうかを指定します。デフォルト値:false。このパラメーターを true に設定すると、リクエスト本文は content という名前のフィールドに格納されます。

    FollowRedirects

    ブール値

    いいえ

    URL リダイレクトを自動的に処理するかどうかを指定します。デフォルト値:false。

    InsecureSkipVerify

    ブール値

    いいえ

    HTTPS セキュリティチェックをスキップするかどうかを指定します。デフォルト値:false。

    ResponseStringMatch

    文字列

    いいえ

    応答本文を正規表現と照合するかどうかを指定します。一致結果は、_response_match_ という名前のフィールドに格納されます。応答本文が正規表現と一致する場合、フィールドの値は yes です。それ以外の場合は、値は no です。

  7. データをプレビューし、インデックスを構成してから、[次へ] をクリックします。

    デフォルトでは、Simple Log Service のフルテキストインデックスが有効になっています。手動モードまたは自動モードで、収集されたログに基づいてフィールドインデックスを構成することもできます。自動モードでフィールドインデックスを構成するには、[自動インデックス生成] をクリックします。このようにして、Simple Log Service は自動的にフィールドインデックスを作成します。詳細については、「インデックスを作成する」をご参照ください。

    重要

    ログをクエリおよび分析する場合は、フルテキストインデックスまたはフィールドインデックスを有効にする必要があります。フルテキストインデックスとフィールドインデックスの両方を有効にすると、システムはフィールドインデックスのみを使用します。

トラブルシューティング

Logtail を使用してログを収集した後に、プレビューページまたはクエリページにデータが表示されない場合は、「Logtail を使用してログを収集するときにエラーが発生した場合はどうすればよいですか?」に記載されている手順に基づいてエラーのトラブルシューティングを行うことができます。

結果

データが収集されたら、Simple Log Service コンソールでデータを表示できます。リクエストの場合、指定された正規表現を使用して解析されたデータを表示できます。また、HTTP リクエストメソッド、リクエストされた URL、応答時間、ステータスコード、およびリクエスト結果を表示することもできます。

"Index" : "7"  
"connection" : "1"  
"accepts" : "6079"  
"handled" : "6079"  
"requests" : "11596"  
"reading" : "0"  
"writing" : "1"  
"waiting" : "0"
"_method_" : "GET"  
"_address_" : "http://127.0.0.1/ngx_status"  
"_response_time_ms_" : "1.320"  
"_http_response_code_" : "200"  
"_result_" : "success"

デフォルトでは、リクエストごとに次のフィールドがアップロードされます。

フィールド

説明

_address_

リクエスト URL。

_method_

HTTP リクエストメソッド。

_response_time_ms_

応答レイテンシ。単位:ミリ秒。

_http_response_code_

HTTP ステータスコード。

_result_

リクエスト結果。有効な値:success、invalid_body、match_regex_invalid、mismatch、および timeout。

_response_match_

応答本文が ResponseStringMatch フィールドの値と一致するかどうかを示します。ResponseStringMatch フィールドが存在しない場合、_response_match_ の値は null です。ResponseStringMatch フィールドが存在する場合、_response_match_ の値は yes または no です。