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
に送信されます。 正規表現は、応答の本体からステータス情報を抽出するために使用される。
にログインします。Simple Log Serviceコンソール.
では、データのインポートセクションで、カスタムデータプラグイン.
プロジェクトとLogstoreを選択します。 [次へ] をクリックします。
マシングループを作成します。
マシングループが利用可能な場合は、[既存のマシングループを使用] をクリックします。
使用可能なマシングループがない場合は、次の手順を実行してマシングループを作成します。 この例では、Elastic Compute Service (ECS) インスタンスが使用されています。
[ECSインスタンス] タブで、[手動でインスタンスを選択] を選択します。 次に、使用するECSインスタンスを選択し、[作成] をクリックします。
詳細については、「ECSインスタンスへのLogtailのインストール」をご参照ください。
重要お使いのサーバーが、Simple Log Serviceとは異なるAlibaba Cloudアカウントに属するECSインスタンス、データセンター内のサーバー、またはサードパーティのクラウドサービスプロバイダーのサーバーの場合、サーバーにLogtailを手動でインストールする必要があります。 詳細については、「LinuxサーバーにLogtailをインストールする」または「WindowsサーバーにLogtailをインストールする」をご参照ください。 Logtailを手動でインストールした後、サーバーのユーザー識別子を設定する必要があります。 詳細については、「ユーザー識別子の設定」をご参照ください。
設定を確認したら、[OK] をクリックします。
Logtailをインストールしたら、[インストールの完了] をクリックします。
[マシングループの作成] ステップで、[名前] パラメーターを設定し、[次へ] をクリックします。
Simple Log Serviceでは、IPアドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。 詳細については、「IPアドレスベースのマシングループの作成」および「カスタム識別子ベースのマシングループの作成」をご参照ください。
[応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。
重要マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?
では、データソースの指定ステップ、構成設定名とプラグインの設定. 次に、をクリックします。次へ.
入力は必須であり、Logtail構成のデータソース設定を構成するために使用されます。
重要inputsに指定できるデータソースの種類は1つだけです。
processorsはオプションで、データを解析するLogtail設定のデータ処理設定を設定するために使用されます。 1つ以上の処理方法を指定できます。
入力の設定のみに基づいてログを解析できない場合は、[プラグイン設定] フィールドでプロセッサを設定して、データ処理用のプラグインを追加できます。 たとえば、フィールドの抽出、ログ時間の抽出、データのマスク、ログのフィルタリングができます。 詳細については、「Logtailプラグインを使用したデータ処理」をご参照ください。
{ "inputs": [ { "type": "metric_http", "detail": { "IntervalMs": 1000, "Addresses": [ "http://127.0.0.1/ngx_status" ], "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 } } ] }
パラメーター
データ型
必須
説明
タイプ
String
課金されます
データソースのタイプ。 値をmetric_httpに設定します。
アドレス
文字列配列
課金されます
URL。
重要URLは
http
またはhttps
で始まる必要があります。IntervalMs
int
課金されます
2つの連続するリクエストの間隔。 単位:ミリ秒。
移動方法
String
課金されません
リクエスト方式。 デフォルト値:
GET
。 値は大文字でなければなりません。ボディ
String
課金されません
HTTPリクエストの本文。 このパラメーターはデフォルトで空となります。
ヘッダー
key: string, value: string map
課金されません
HTTPリクエストのヘッダー。 このパラメーターはデフォルトで空となります。 例:
{"key":"value"}
ビジネスシナリオに基づいてこのパラメーターを設定します。PerAddressSleepMs
int
課金されません
Addressesパラメーターで指定されたURLにリクエストが送信される間隔。 単位:ミリ秒。 デフォルト値:100
ResponseTimeoutMs
int
課金されません
リクエストのタイムアウト期間。 単位:ミリ秒。 デフォルト値: 5000。
IncludeBody
Boolean
課金されません
リクエスト本文を収集するかどうかを指定します。 デフォルト値:false このパラメーターをtrueに設定すると、リクエスト本文はcontentという名前のフィールドに格納されます。
FollowRedirectes
Boolean
課金されません
URLリダイレクトを自動的に処理するかどうかを指定します。 デフォルト値:false
InsecureSkipVerify
Boolean
課金されません
HTTPSセキュリティチェックをスキップするかどうかを指定します。 デフォルト値:false
ResponseStringMatch
String
課金されません
レスポンス本文を正規表現と一致させるかどうかを指定します。 一致結果は、_response_match_ という名前のフィールドに格納されます。 レスポンス本文が正規表現と一致する場合、フィールドの値はyesになります。 それ以外の場合、値はnoです。
データをプレビューし、インデックスを設定し、次へ.
デフォルトでは、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フィールドの値と一致するかどうかを示します。 |