インジェストプロセッサをLogstoreに関連付けた後、インジェストプロセッサを使用してログを処理できます。 たとえば、WebサイトのアクセスログをLogstoreに収集し、アクセスログが単一行モードでフォーマットされているとします。 取り込みプロセッサを作成して、生のログを解析し、クエリと分析のためにログから有効なフィールドを抽出できます。
前提条件
Elastic Compute Service (ECS) インスタンスが利用可能です。 詳細については、「ECSの使用開始方法」をご参照ください。
Simple Log Serviceが有効化されています。 詳細については、「Simple Log Serviceの有効化」をご参照ください。
取り込みプロセッサの管理権限は、使用するRAM (Resource Access management) ユーザーに付与されます。 RAMユーザーを使用する場合は、この前提条件が満たされていることを確認してください。 詳細については、「権限の管理」をご参照ください。
ソリューションの概要
このソリューションでは、Logtailを使用してECSインスタンスのNGINXアクセスログを収集します。 インジェストプロセッサを使用して、収集された1行のログを ${key }:${ value}
形式で解析し、解析されたログをLogstoreにエクスポートします。
Logtailを使用してログを収集する: Simple Log Serviceを有効化し、Logtailを使用してECSインスタンスのNGINXアクセスログをLogstoreに収集します。
取り込みプロセッサの設定: Simple Log Service Processing Language (SPL) ステートメントを設定して、生ログを解析します。
インジェストプロセッサをLogstoreに関連付ける: インジェストプロセッサをLogstoreに関連付けると、インジェストプロセッサは収集されたログを解析し、解析されたログをクエリと分析のためにLogstoreに書き込みます。
1. Logtailを使用したログの収集
1.1 プロジェクトとLogstoreを作成する
Simple Log Serviceコンソールにログインします。
プロジェクトを作成します。
[プロジェクト] セクションで、[プロジェクトの作成] をクリックします。 この例では、
フィリピン (マニラ)
リージョンにweb-project-test
という名前のプロジェクトを作成します。 詳細については、「プロジェクトの管理」をご参照ください。ログストアの作成
プロジェクトの作成後、Logstoreを作成するように求められます。 この例では、
website_log
という名前のLogstoreを作成します。 詳細については、「Logstoreの管理」をご参照ください。
1.2 NGINXアクセスログの収集
WebサイトのNGINXアクセスログは、ECSインスタンスの /var/log/nginx/access.log
ファイルに保存され、ログはデフォルトで単一行モードでフォーマットされます。 次のサンプルコードは、/var/log/nginx/access.log
ファイルのサンプルログを提供します。
192.168.1.75 - David [2024-07-31T14:27:24+08:00] "PUT /request/path-0/file-8 HTTP/1.1" 819 21577 403 73895 www.test5.com www.test2.com "Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41 Safari/535.1"
Logtailを使用してECSインスタンスからNGINXアクセスログを収集する方法の詳細については、「サーバーからのテキストログの収集」をご参照ください。 /var/log/nginx/access.log
ファイルからwebsite_log
Logstoreにログが収集された後、収集されたログをクエリおよび分析できます。
Simple Log Service SDKを使用してログを収集することもできます。 詳細については、「Simple Log Service SDK For Javaの使用を開始する」をご参照ください。 詳細については、「データ収集の概要」をご参照ください。
2. 取り込みプロセッサの設定
2.1 データプロセッサページに移動します
[プロジェクト] セクションで、
web-project-test
プロジェクトをクリックします。左側のナビゲーションウィンドウで、
を選択します。
2.2 取り込みプロセッサの作成
タブで、[作成] をクリックします。
[プロセッサの作成] パネルで、次の図に基づいてパラメーターを設定し、[OK] をクリックします。
次のコードは、SPL設定の例を示しています。 取り込みプロセッサは、SPL設定に基づいてデータを処理する。 詳細については、「SPLの概要」をご参照ください。
* | parse-regexp content, '(\S+)\s-\s(\S+)\s\[(\S+)\]\s"(\S+)\s(\S+)\s(\S+)"\s(\d+)\s(\d+)\s(\d+)\s(\d+)\s(\S+)\s(\S+)\s"(.*)"' as remote_addr, remote_user, time_local, request_method, request_uri, http_protocol, request_time, request_length, status, body_bytes_sent, host, referer, user_agent | project-away content | extend __topic__ = request_method
3. インジェストプロセッサをLogstoreに関連付ける
3.1 インジェストプロセッサをLogstoreに関連付ける
左側のナビゲーションウィンドウで、[ログストレージ] をクリックし、ポインタを
website_log
Logstoreに移動し、 を選択します。website_log
Logstoreの [Logstore属性] ページで、右上隅の [変更] をクリックします。 編集モードで、取り込みプロセッサドロップダウンリストのLogstoreを使用してNGINXアクセスログ
を解析するために作成した取り込みプロセッサを選択し、[保存] をクリックします。
3.2 ログの照会と分析
左側のナビゲーションウィンドウで、[ログストレージ] とwebsite_log Logstoreをクリックします。 website_log Logstoreのクエリと分析ページで、解析されたログを表示します。
インジェストプロセッサがLogstoreに関連付けられた後、インジェストプロセッサは新しく収集されたログを処理します。 取り込みプロセッサをLogstoreに関連付けてから約1分後に、クエリと分析ページで解析されたログを表示できます。
関連ドキュメント
取り込みプロセッサの管理方法の詳細については、「Manage ingest processors」をご参照ください。
Simple Log Serviceを有効化した後にログを収集する方法の詳細については、「データ収集の概要」をご参照ください。
取り込みプロセッサは、SPL設定に基づいてデータを処理します。 SPL構文の詳細については、「SPL構文」をご参照ください。