このトピックでは、Simple Log Service コンソールでログ収集のための Logtail 構成を作成、表示、変更、および削除する方法について説明します。コンソール操作に加えて、Simple Log Service は API と SDK メソッドもサポートしています。
Logtail 構成の概要
Logtail 構成は、ログデータの収集および処理方法に関するコアとなるルールを定義します。その目的は、柔軟な構成を通じて効率的なログ収集、構造化解析、フィルタリング、および処理を可能にすることです。
コンソールでの Logtail 構成は、次の 3 つの部分で構成されます。
グローバル構成は、収集されたテキストログを異なるログトピックに整理するために使用されます。
入力構成は、収集の詳細を定義するために使用されます。
プロセッサ構成は、生のログを構造化データに変換するために使用されます。
Logtail 構成を作成する
Simple Log Service コンソール にログインします。 [プロジェクト] セクションで、目的のプロジェクトをクリックします。
ログストアを見つけ、
を選択します。[今すぐ統合] をクリックします。この例では、[正規表現 - テキストログ] が使用されます。これは、正規表現マッチングを使用してテキストログが解析されることを意味します。[サーバー] と [ECS] を選択します。以前に作成したマシングループを選択し、[>] ボタンをクリックして、適用されたマシングループに追加します。次に、[次へ] をクリックします。利用可能なマシングループがない場合は、「マシングループの作成」をご参照ください。
[グローバル構成] で、構成名を入力します。[その他のグローバル構成] で、ログトピックを設定します。
ログトピックの構成項目は次のように説明されています。詳細なパラメーターについては、「グローバル構成パラメーター」をご参照ください。
マシングループトピック: これを選択した場合は、マシングループの作成時に構成する必要があります。
ファイルパス抽出: これを選択した場合は、正規表現を構成する必要があります。
カスタム: これを選択した場合は、
customized:// + カスタムトピック名
を入力して、カスタム静的ログトピックを使用する必要があります。
[入力構成] で、ログ収集のパスを表す [ファイルパス] を構成します。ログパスはスラッシュ (/) で始まる必要があります (例:
/data/wwwlogs/main/**/*.Log
)。これは、/data/wwwlogs/main
ディレクトリにある .Log サフィックスのファイルを意味します。監視対象のログディレクトリの最大深度 (つまり、[ファイルパス] のワイルドカード**
が一致できる最大ディレクトリ深度) を設定するには、ディレクトリ監視の最大深度の値を変更します。値 0 は、指定したログファイルディレクトリのみが監視されることを指定します。詳細なパラメーターについては、「入力構成パラメーター」をご参照ください。[プロセッサ構成] で、[ログサンプル]、[複数行モード]、[処理方法] を設定します。
[ログサンプル] フィールドにサンプルログを追加することをお勧めします。サンプルログは、ログ処理関連のパラメーターを簡単に構成するのに役立ちます。このフィールドを構成する場合は、実際の収集シナリオのサンプルログを使用してください。
必要に応じて [複数行モード] をオンにします。複数行ログは、複数の連続した行にまたがっています。オフにすると、Simple Log Service は単一行モードでログを収集します。各ログは 1 行に配置されます。オンにした場合は、次のパラメーターを構成します。
タイプ
カスタム: 生ログの形式が固定されていない場合は、[最初の行と一致する正規表現] を構成して、各ログの最初の行を識別します。たとえば、正規表現
\[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*
を使用して、例の 5 行の生データを 2 つのログに分割できます。「最初の行と一致する正規表現」パラメーターの値は、データの行全体と一致する必要があることに注意してください。[2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened at TestPrintStackTrace.f(TestPrintStackTrace.java:3) at TestPrintStackTrace.g(TestPrintStackTrace.java:7) at TestPrintStackTrace.main(TestPrintStackTrace.java:16) [2023-10-01T10:31:01,000] [INFO] java.lang.Exception: exception happened
複数行 JSON: 生ログが標準 JSON 形式の場合は、[タイプ] を [複数行 JSON] に設定します。Logtail は、JSON 形式のログ内で発生する改行を自動的に処理します。
分割に失敗した場合の処理方法:
破棄: テキストを破棄します。
単一行を保持: テキストの各行をログとして保存します。
プロセッサ: [処理方法] を [プロセッサ] に設定します。プロセッサはログを分割するように構成されています。この例では、Logtail は完全な正規表現モードでテキストログを収集し、データ解析 (正規表現モード) プロセッサが自動的に生成されます。必要に応じて他のプロセッサを使用できます。
以下では、一般的なプロセッサについて説明します。時間解析、フィルタリング、データマスキングなどのその他のプロセッサ機能については、「処理プラグイン」をご参照ください。Simple Log Service は、従来のプロセッサと同様の機能を実装しながら、より高い処理効率を特徴とする SPL ベースのデータ処理も提供しています。詳細については、「Logtail SPL を使用してログを解析する」をご参照ください。
データ解析 (正規表現モード)
[データ解析 (正規表現モード)] をクリックして、プロセッサ構成ページに移動します。
正規表現を構成し、抽出された値に基づいてキーを指定します。[正規表現] の下の [生成] をクリックします。次に、ログサンプルの内容を選択し、[正規表現を生成] をクリックして、選択した内容の正規表現を自動的に生成します。
正規表現が生成された後、[抽出されたフィールド] で、抽出された値に基づいてキーを指定します。これらのキーと値のペアを使用してインデックスを作成できます。
詳細については、「データ解析 (正規表現モード)」をご参照ください。
データ解析 (JSON モード)
重要収集された JSON ログを処理するには、データ解析 (JSON モード) プロセッサを追加します。JSON ログは、オブジェクト形式または配列形式にすることができます。オブジェクトログにはキーと値のペアが含まれ、配列ログには値の順序付きリストが含まれます。データ解析 (JSON モード) プロセッサは、オブジェクトタイプの JSON ログを解析し、最初のレイヤーからキーと値のペアを抽出できます。抽出されたキーはフィールド名になり、値はフィールド値になります。プロセッサは、配列タイプの JSON ログを解析できません。より詳細な処理については、「拡張プラグイン: JSON フィールドを展開する」をご参照ください。
必要に応じて [複数行モード] をオンにします。オンにした場合は、次の手順を実行します。
[タイプ] を [複数行 JSON] に設定します。
[分割に失敗した場合の処理方法] を [単一行を保持] に設定します。
[処理方法] リストから [データ解析 (正規表現モード)] を削除し、[データ解析 (JSON モード)] を追加します。
次の表に、データ解析 (JSON モード) のパラメーターを示します。
パラメーター名
説明
元のフィールド
解析前にログの内容を格納する元のフィールド。デフォルト値: content。
解析に失敗した場合に元のフィールドを保持する
選択すると、解析に失敗した場合に元のフィールドが保持されます。
解析に成功した場合に元のフィールドを保持する
選択すると、解析に成功した場合に元のフィールドが保持されます。
元のフィールドの新しい名前
[解析に失敗した場合に元のフィールドを保持する] または [解析に成功した場合に元のフィールドを保持する] を選択した後、生のログの内容を格納する元のフィールドの名前を変更します。
詳細については、「データ解析 (JSON モード)」をご参照ください。
データ解析 (デリミタモード)
説明データ解析 (デリミタモード) プロセッサを使用して、特定のデリミタに基づいてログを複数のキーと値のペアに解析します。
[処理方法] リストからデータ解析 (正規表現モード) プロセッサを削除し、データ解析 (デリミタモード) プロセッサを追加します。
次の表に、データ解析 (デリミタモード) プロセッサのパラメーターを示します。
パラメーター
説明
元のフィールド
解析前にログの内容を格納する元のフィールド。デフォルト値: content。
デリミタ
ログフィールドを抽出する基準となるデリミタ。[縦棒] (|) など、実際のログの内容に基づいてデリミタを選択します。
説明[印刷不可文字] をデリミタとして選択した場合は、ASCII テーブルで非表示文字の 16 進値を見つけ、
0x<ASCII テーブルの非表示文字の 16 進値>
の形式で入力します。たとえば、ASCII テーブルの最初の非表示文字は 0x01 です。見積もり
ログフィールドの内容にデリミタが含まれている場合は、内容を囲む引用符を指定する必要があります。引用符で囲まれた内容は、Simple Log Service によって完全なフィールドとして解析されます。収集するログの形式に基づいて引用符を選択する必要があります。
説明[印刷不可文字] を引用符として選択した場合は、ASCII テーブルで非表示文字の 16 進値を見つけ、
0x<ASCII テーブルの非表示文字の 16 進値>
の形式で入力します。たとえば、ASCII テーブルの最初の非表示文字は 0x01 です。抽出されたフィールド
ログサンプルを構成すると、Simple Log Service はログサンプルと選択したデリミタに基づいてログの内容を抽出し、内容を値として定義します。各値のキーを指定します。
サンプルログを指定しない場合、[値] 列は使用できません。実際のログとデリミタに基づいてキーを指定します。
キーには、文字、数字、アンダースコア (_) のみを含めることができ、文字またはアンダースコア (_) で始める必要があります。キーの長さは最大 128 バイトです。
欠落フィールドを許可する
ログから抽出された値の数がキーの数よりも少ない場合に、Simple Log Service にログをアップロードするかどうかを指定します。[欠落フィールドを許可する] を選択すると、ログがアップロードされます。
たとえば、ログが
11|22|33|44
で、デリミタが縦棒 (|) で、キーがA
、B
、C
、D
、E
であるとします。[欠落フィールドを許可する] を選択すると、
E
フィールドの値は空になり、ログは Simple Log Service にアップロードされます。そうでない場合、ログは破棄されます。
説明Linux Logtail 1.0.28 以降または Windows Logtail 1.0.28.0 以降では、デリミタモード構成の [欠落フィールドを許可する] パラメーターがサポートされています。
超過部分が割り当てられるフィールドの処理方法
抽出された値の数が指定されたキーを超えた場合に、超過値を処理する方法。有効な値:
展開: 超過値を保持し、
__column$i__
形式のフィールドに追加します。ここで、$i
は超過フィールドのシーケンス番号を表し、0 から始まります。例:__column0__
と__column1__
。保持: 超過値を保持し、
__column0__
という名前のフィールドに追加します。破棄: 超過値を破棄します。
解析に失敗した場合に元のフィールドを保持する
解析に失敗した場合に元のフィールドを保持します。
解析に成功した場合に元のフィールドを保持する
解析に成功した場合に元のフィールドを保持します。
元のフィールドの新しい名前
[解析に失敗した場合に元のフィールドを保持する] または [解析に成功した場合に元のフィールドを保持する] を選択した後、生のログの内容を格納する元のフィールドの名前を変更します。
詳細については、「データ解析 (デリミタモード)」をご参照ください。
データ解析 (Apache モード)
説明データ解析 (Apache モード) プロセッサを使用して、Apache 構成ファイルで指定したログ形式に基づいて Apache ログを構造化データに解析します。ログは複数のキーと値のペアに解析されます。
手順
[処理方法] リストからデータ解析 (正規表現モード) プロセッサを削除し、データ解析 (Apache モード) プロセッサを追加します。
次の表に、データ解析 (Apache モード) プロセッサのパラメーターを示します。
パラメーター名
説明
ログ形式
Apache 構成ファイルで定義されているログ形式 (common、combined、custom など) を選択します。
APACHE LogFormat 構成
Apache 構成ファイルで指定されたログ構成セクション。ほとんどの場合、セクションは LogFormat で始まります。
[ログ形式] を [common] または [combined] に設定すると、対応する形式の構成フィールドが自動的に入力されます。形式が Apache 構成ファイルで定義されている形式と一致していることを確認します。
[ログ形式] を [カスタム] に設定した場合は、必要に応じてこのフィールドに入力します (例:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %f %k %p %q %R %T %I %O" customized
)。
元のフィールド
解析前にログの内容を格納する元のフィールド。デフォルト値: content。
正規表現
Apache ログを抽出する正規表現。Simple Log Service は、[APACHE LogFormat 構成] の内容に基づいてこの正規表現を自動的に生成します。
抽出されたフィールド
[APACHE LogFormat 構成] の内容に基づいてログフィールド (キー) を自動的に生成します。
解析に失敗した場合に元のフィールドを保持する
解析に失敗した場合に元のフィールドを保持します。
解析に成功した場合に元のフィールドを保持する
解析に成功した場合に元のフィールドを保持します。
元のフィールドの新しい名前
[解析に失敗した場合に元のフィールドを保持する] または [解析に成功した場合に元のフィールドを保持する] を選択した後、生のログの内容を格納する元のフィールドの名前を変更します。
詳細については、「データ解析 (Apache モード)」をご参照ください。
データ解析 (NGINX モード)
説明データ解析 (NGINX モード) プロセッサを使用して、NGINX 構成ファイルで指定したログ形式に基づいて NGINX ログを構造化データに解析します。ログは複数のキーと値のペアに解析されます。
[処理方法] リストからデータ解析 (正規表現モード) プロセッサを削除し、データ解析 (NGINX モード) プロセッサを追加します。
次の表に、データ解析 (NGINX モード) プロセッサのパラメーターを示します。
パラメーター名
説明
NGINX ログ構成
Nginx 構成ファイルのログ構成セクションは、log_format で始まります。例:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$request_time $request_length ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"';
詳細については、「Nginx ログの概要」をご参照ください。
元のフィールド
解析前にログの内容を格納する元のフィールド。デフォルト値: content。
正規表現
NGINX ログを抽出するために使用される正規表現。Simple Log Service は、[NGINX ログ構成] の内容に基づいてこの正規表現を自動的に生成します。
抽出されたフィールド
[NGINX ログ構成] に基づいて対応するログフィールド (キー) を自動的に抽出します。
解析に失敗した場合に元のフィールドを保持する
解析に失敗した場合に元のフィールドを保持します。
解析に成功した場合に元のフィールドを保持する
解析に成功した場合に元のフィールドを保持します。
元のフィールドの新しい名前
[解析に失敗した場合に元のフィールドを保持する] または [解析に成功した場合に元のフィールドを保持する] を選択した後、生のログの内容を格納する元のフィールドの名前を変更します。
詳細については、「データ解析 (NGINX モード)」をご参照ください。
データ解析 (IIS モード)
説明データ解析 (IIS モード) プロセッサを使用して、IIS 構成ファイルで指定したログ形式に基づいて IIS ログを構造化データに解析します。ログは複数のキーと値のペアに解析されます。
次の表に、データ解析 (IIS モード) プロセッサのパラメーターを示します。
パラメーター名
説明
ログ形式
IIS サーバーログで使用されるログ形式を選択します。
IIS: Microsoft IIS ログファイル形式。
NCSA: NCSA 共通ログファイル形式。
W3C: W3C 拡張ログファイル形式。
IIS 構成フィールド
IIS 構成フィールド:
ログ形式を IIS または NCSA に設定すると、システムは IIS 構成フィールドを自動的に指定します。
ログ形式を W3C に設定すると、IIS 構成ファイルの
logExtFileFlags
パラメーターの内容を指定します。例:logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"
IIS5 構成ファイルのデフォルトパス:
C:\WINNT\system32\inetsrv\MetaBase.bin
。IIS6 構成ファイルのデフォルトパス:
C:\WINDOWS\system32\inetsrv\MetaBase.xml
。IIS7 構成ファイルのデフォルトパス:
C:\Windows\System32\inetsrv\config\applicationHost.config
。
元のフィールド
解析前にログの内容を格納する元のフィールド。デフォルト値: content。
正規表現
IIS ログを抽出するために使用される正規表現。Simple Log Service は、[IIS 構成フィールド] の内容に基づいてこの正規表現を自動的に生成します。
抽出されたフィールド
[IIS 構成フィールド] の内容に基づいてログフィールド (キー) を自動的に生成します。
解析に失敗した場合に元のフィールドを保持する
解析に失敗した場合に元のフィールドを保持します。
解析に成功した場合に元のフィールドを保持する
解析に成功した場合に元のフィールドを保持します。
元のフィールドの新しい名前
[解析に失敗した場合に元のフィールドを保持する] または [解析に成功した場合に元のフィールドを保持する] を選択した後、生のログの内容を格納する元のフィールドの名前を変更します。
詳細については、「データ解析 (IIS モード)」をご参照ください。
SPL ベースのデータ処理
Simple Log Service は、カスタム SPL ベースのデータ処理を提供します。従来のプラグインと比較して、SPL ベースの処理は高速で効率的であり、使いやすくなっています。これにより、Simple Log Service の全体的な機能が強化され、SPL ステートメントとその計算機能を使用してデータを処理できます。詳細については、以下のトピックを参照してください。
Logtail 構成を表示する
Simple Log Service コンソール にログインします。
管理するプロジェクトを [プロジェクト] セクションでクリックします。
タブで、ターゲットログストアの前にある [>] アイコンをクリックし、 を選択します。
ターゲット Logtail 構成をクリックして、詳細を表示します。
Logtail 構成を変更する
Simple Log Service コンソール にログインします。
管理するプロジェクトを [プロジェクト] セクションでクリックします。
タブで、ターゲットログストアの前にある [>] アイコンをクリックし、 を選択します。
[Logtail 構成] リストで、ターゲット Logtail 構成をクリックします。
[Logtail 構成] ページで、[編集] をクリックします。
構成を変更し、[保存] をクリックします。
詳細については、「Logtail 構成の概要」をご参照ください。
Logtail 構成を削除する
[Logtail 構成] リストで、ターゲット Logtail 構成を選択し、[操作] 列の [削除] をクリックします。
[削除] ダイアログボックスで、[OK] をクリックします。
Logtail 構成が削除されると、マシングループからデタッチされ、Logtail は構成に基づいてログの収集を停止します。
説明ログストアを削除するには、最初にそれに関連付けられているすべての Logtail 構成を削除する必要があります。