Ingest Processor を LogStore に関連付けた後、そのプロセッサを用いてログデータを処理できます。たとえば、Web サイトから単一行形式のアクセスログを LogStore に収集する場合、生ログを解析するための Ingest Processor を作成します。この処理により、クエリおよび分析に使用可能な有効なログフィールドが抽出されます。
前提条件
-
アクティブな Elastic Compute Service (ECS) インスタンスが利用可能です。詳細については、「ECS のクイックスタート」をご参照ください。
-
Simple Log Service が有効化されています。詳細については、「Simple Log Service の有効化」をご参照ください。
-
Resource Access Management (RAM) ユーザーを使用する場合、当該 RAM ユーザーに Ingest Processor の管理権限を付与してください。詳細については、「RAM ユーザーへのデータ処理権限の付与」をご参照ください。
ソリューションの概要
本ソリューションでは、Logtail を使用して Nginx アクセスログを収集します。その後、Ingest Processor により単一行形式のログを ${key}:${value} 形式に解析します。最後に、解析済みのログは LogStore へ送信されます。処理の流れは以下のとおりです:
-
Logtail によるログ収集:Simple Log Service を有効化し、Logtail を使用して ECS ホスト上の Nginx ログを LogStore へ収集します。
-
Ingest Processor の構成:生ログを解析するための構造化プロセス言語 (SPL) 文を設定します。
-
Ingest Processor の関連付け:LogStore を対象の Ingest Processor に関連付けます。新規ログは LogStore へ書き込まれる前に、当該プロセッサによって解析されます。解析後のログは、クエリおよび分析のために LogStore へ書き込まれます。
1. Logtail によるログ収集
1.1 プロジェクトおよび LogStore の作成
-
Simple Log Service コンソール にログインします。
-
プロジェクトを作成します。
「プロジェクト」セクションで、[プロジェクトの作成] をクリックします。本例では、
web-project-testという名前のプロジェクトをフィリピン (マニラ)リージョンに作成します。構成に関する詳細については、「プロジェクトの管理」をご参照ください。
-
LogStore を作成します。
プロジェクトを作成すると、システムから LogStore の作成を促すメッセージが表示されます。本例では、
website_logという名前の LogStore を作成します。構成に関する詳細については、「LogStore の管理」をご参照ください。
1.2 Nginx アクセスログの収集
Web サイトの Nginx アクセスログは、ECS ホスト上の /var/log/nginx/access.log ファイルに保存されます。デフォルトでは、ログは単一行形式で出力されます。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"
ECS ホスト上の Nginx ログを Logtail で収集します。手順については、「ホストからのテキストログの収集」をご参照ください。/var/log/nginx/access.log から website_log へログを収集します。「LogSearch」ページは、以下の図のとおりです。

また、ソフトウェア開発キット (SDK) を使用したデータ収集も可能です。詳細については、「Java SDK のクイックスタート」をご参照ください。さらに詳しい情報については、「データ収集の概要」をご参照ください。
2. Ingest Processor の構成
2.1 [データプロセッサ] ページへの移動
-
「プロジェクト」セクションで、
web-project-testをクリックします。
-
左側のナビゲーションウィンドウで、 をクリックします。

2.2 Ingest Processor の作成
-
タブで、[作成] をクリックします。

-
[プロセッサの作成] パネルで、以下の図に示すパラメーターを構成し、[OK] をクリックします。

SPL 構成は以下のとおりです。Ingest Processor は 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. Ingest Processor の関連付け
3.1 LogStore への Ingest Processor の関連付け
-
左側のナビゲーションウィンドウで、[ログストレージ] をクリックします。
website_logの上にマウスポインターを合わせ、 をクリックします。
-
website_logのプロパティページで、右上隅の [変更] をクリックします。編集モードで、[Ingest Processor] を先ほど作成したParse Nginx logsプロセッサに設定し、[保存] をクリックします。
3.2 ログのクエリおよび分析
左側のナビゲーションウィンドウで、[ログストレージ] をクリックします。LogSearch ページで、解析済みのログを確認します(以下の図参照)。
Ingest Processor は、関連付け後に新規ログに対してのみ適用されます。LogSearch ページで解析済みのログを確認するには、約 1 分待ちます。

参考
-
Ingest Processor の管理方法については、「Ingest Processor の管理」をご参照ください。
-
Simple Log Service の有効化後のログ収集について詳しくは、「データ収集の概要」をご参照ください。
-
Ingest Processor は SPL を使用してデータを処理します。SPL 構文の詳細については、「SPL 構文」をご参照ください。