tencent cloud

Cloud Log Service

複合解析抽出モードによるログ収集

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:31:24
AI翻訳
注意:
Windowsシステム環境は現在サポートされていません。

操作シナリオ

お客様のログ構造が複雑すぎて、複数の解析モードが関係し、単一の解析モード(Nginxモード、完全正規表現モード、JSONモードなど)ではログ解析の要件を満たせない場合、LogListenerの組み合わせ解析形式を使用してログを解析できます。このモードは、ユーザーがコンソールでコード(JSON形式)を入力してログ解析のパイプラインロジックを定義することをサポートします。1つまたは複数のLogListenerプラグイン処理設定を追加でき、LogListenerは処理設定の順序に従って1つずつ実行します。このドキュメントでは、組み合わせ解析抽出モードを使用してログを収集する方法について説明します。

前提条件

対象ファイルが存在するサーバーにはLogListenerがインストールされています。詳細についてはLogListenerインストールガイド(Linux版)を参照してください。
LogListener Linux版は2.6.4以上である必要があります。

効果プレビュー

お客様の1本のログの元データが以下であると仮定します:
1571394459,http://127.0.0.1/my/course/4|10.135.46.111|200,status:DEAD
カスタムプラグインの内容は以下の通りです:
{
"processors": [
{
"type": "processor_split_delimiter",
"detail": {
"Delimiter": ",",
"ExtractKeys": [ "time", "msg1","msg2"]
},
"processors": [
{
"type": "processor_timeformat",
"detail": {
"KeepSource": true,
"TimeFormat": "%s",
"SourceKey": "time"
}
},
{
"type": "processor_split_delimiter",
"detail": {
"KeepSource": false,
"Delimiter": "|",
"SourceKey": "msg1",
"ExtractKeys": [ "submsg1","submsg2","submsg3"]
},
"processors": []
},
{
"type": "processor_split_key_value",
"detail": {
"KeepSource": false,
"Delimiter": ":",
"SourceKey": "msg2"
}
}
]
}
]
}
CLSによる構造化処理後、このログは以下のようになります:
time: 1571394459
submsg1: http://127.0.0.1/my/course/4
submsg2: 10.135.46.111
submsg3: 200
status: DEAD

設定説明

カスタムプラグインの種類

プラグイン機能
プラグイン名
機能
フィールド抽出
processor_log_string
processor_log_stringプラグインを使用してフィールドに対してマルチ文字解析(改行文字)を行います。通常、単一行ログの高度な機能に使用されます。
フィールド抽出
processor_multiline
processor_multilineプラグイン(正規表現モード)を使用してフィールドに対して先頭行の正規表現解析を行います。通常、複数行ログの高度な機能に使用されます。
フィールド抽出
processor_multiline_fullregex
processor_multiline_fullregexプラグイン(正規表現モード)を使用してフィールドに対して先頭行の正規表現解析を行います。通常、複数行ログの高度な機能に使用されます。また、複数行ログに対して正規表現抽出を行います。
フィールド抽出
processor_fullregex
processor_fullregexプラグイン(正規表現モード)を使用してフィールドを抽出します(単一行ログ)。
フィールド抽出
processor_json
processor_jsonプラグインを使用してフィールド値に対してJSON展開を行います。
フィールド抽出
processor_split_delimiter
processor_split_delimiterプラグイン(単一文字/複数文字区切り文字モード)を使用してフィールドを抽出します。
フィールド抽出
processor_split_key_value
processor_split_key_valueプラグイン(キーバリューペアモード)を使用してフィールドを抽出します。
フィールド処理
processor_drop
processor_dropプラグインを使用してフィールドを破棄します。
フィールド処理
processor_timeformat
processor_timeformatプラグインを使用して、元のログ内の時間フィールドを解析し、時間形式の変換に使用します。また、解析結果をログ時間として設定できます。

カスタムプラグイン詳細パラメータ

プラグイン名
サブ項目解析に対応するか
プラグインパラメータ
必須かどうか
機能
processor_multiline
いいえ
BeginRegex
はい
複数行ログの行頭マッチング正規表現を定義します。
processor_multiline_fullregex
はい
BeginRegex
はい
複数行ログの行頭マッチング正規表現を定義します。
ExtractRegex
はい
複数行ログを抽出した後の抽出正規表現を定義します。
ExtractKeys
はい
抽出キー値を定義します。
processor_fullregex
はい
ExtractRegex
はい
抽出正規表現を定義します。
ExtractKeys
はい
抽出キー値を定義します。
processor_json
はい
SourceKey
いいえ
現在の processor が処理する前段の processor における key name
KeepSource
いいえ
最終キー名に SourceKey を保持するかどうかを設定します。
processor_split_delimiter
はい
SourceKey
いいえ
現在の processor が処理する前段の processor における key name
KeepSource
いいえ
最終キー名に SourceKey を保持するかどうかを設定します。
Delimiter
はい
区切り文字(単一/複数文字)を指定します。
ExtractKeys
はい
区切り文字で分割した後の抽出キー値を定義します。
processor_split_key_value
いいえ
SourceKey
いいえ
現在の processor が処理する前段の processor における key name
KeepSource
いいえ
最終キー名に SourceKey を保持するかどうかを設定します。
Delimiter
はい
文字列内の Key と Value の間の区切り文字を定義します。
processor_drop
いいえ
SourceKey
はい
現在の processor が処理する前段の processor における key name
processor_timeformat
いいえ
SourceKey
はい
現在の processor が処理する前段の processor における key name
TimeFormat
はい
SourceKey の値(ログ内の時間データ文字列)に対する時間解析形式を定義します。

操作手順

ステップ1:ログトピックの作成

新しいログトピックの作成
既存ログトピックの選択
新しいログトピックを作成する場合は、以下の操作を実行できます:
1. CLSコンソールにログインします。
2. 左側のナビゲーションバーで概覧を選択し、概覧ページに移動します。
3. クイックアクセスで、すべてを見つけ、CVMをクリックして、収集設定フローに進みます。

4. 収集設定プロセスのログトピック作成ページで、実際のニーズに応じてログトピック名を入力し、ログ保存期間などの情報を設定して、次へをクリックします。



既存のログトピックを選択する場合は、以下の操作を実行できます:
1. CLSコンソールにログインします。
2. 左側のナビゲーションバーでログトピックを選択し、配信するログトピックを選択して、指定したログトピック名をクリックすると、ログトピック管理ページに移動します。
3. 収集設定タブを選択し、LogListener収集設定欄で追加をクリックして、ログデータソース選択に進みます。

4. ログデータソース選択ページで、サーバー及びアプリケーションを選択し、CVMを見つけてクリックすると、収集設定プロセスに進みます。


ステップ2:マシングループの管理

新しいマシングループの作成
既存のマシングループを選択
新しいマシングループを作成する場合は、以下の操作を実行できます:
1. 新規マシングループをクリックします。

2. マシングループ名を入力し、マシン識別子の方法でLogListenerがインストール済みのターゲットサーバーを関連付けます。詳細はマシングループを参照し、確定をクリックします。

3. 作成が完了したら、Tabオプションで作成したマシングループのシステム環境を選択し、リストでターゲットマシングループをチェックして、次へをクリックします。

既存のマシングループを選択する場合は、Tabオプションで作成したマシングループのシステム環境を選択し、リストでターゲットマシングループをチェックして、次へをクリックします。


ステップ3:収集設定

ログファイル収集パスの設定

「収集設定」ページで、ログ収集パス形式に従って「収集パス」を入力します。下図の通りです: ログ収集パス形式:[ディレクトリプレフィックス式]/**/[ファイル名式]。

ログ収集パスを入力すると、LogListenerは[ディレクトリプレフィックス式]に従って、ルールに一致するすべての共通プレフィックスパスをマッチングし、これらのディレクトリ(サブディレクトリを含む)配下の[ファイル名式]ルールに一致するすべてのログファイルを監視します。そのパラメータの詳細説明は以下の通りです:
フィールド
説明
ディレクトリプレフィックス
ログファイルのプレフィックスディレクトリ構造では、ワイルドカード * と ? のみサポートされています。* は複数の任意の文字に一致し、? は単一の任意の文字に一致します。カンマの入力はサポートされていません。
/**/
現在のディレクトリおよびすべてのサブディレクトリを表します。
ファイル名
ログファイル名では、ワイルドカード * と ? のみサポートされています。* は複数の任意の文字に一致し、? は単一の任意の文字に一致します。カンマの入力はサポートされていません。
よく使われる構成パターンは以下の通りです:
[共通ディレクトリプレフィックス]/**/[共通ファイル名プレフィックス]*
[共通ディレクトリプレフィックス]/**/*[共通ファイル名サフィックス]
[共通ディレクトリプレフィックス]/**/[共通ファイル名プレフィックス]*[共通ファイル名サフィックス]
[共通ディレクトリプレフィックス]/**/*[共通文字列]*
記入例は以下の通りです:
番号
ディレクトリプレフィックス式
ファイル名式
説明
1
/var/log/nginx
access.log
この例では、ログパスは/var/log/nginx/**/access.logに設定されています。LogListenerは/var/log/nginxプレフィックスパス配下のすべてのサブディレクトリにあるaccess.logという名前のログファイルを監視します。
2
/var/log/nginx
*.log
この例では、ログパスは/var/log/nginx/**/*.logに設定されています。LogListenerは/var/log/nginxプレフィックスパス配下のすべてのサブディレクトリにある.logで終わるログファイルを監視します。
3
/var/log/nginx
error*
この例では、ログパスは/var/log/nginx/**/error*に設定されています。LogListenerは/var/log/nginxプレフィックスパス配下のすべてのサブディレクトリにあるerrorで始まる名前のログファイルを監視します。
注意:
LogListener 2.3.9以降のバージョンでのみ、複数の収集パスを追加できます。
収集パスをlog/*.logに設定することをお勧めします。renameでログローテーション後の古いファイル名をlog/*.log.xxxxに変更してください。
デフォルトでは、1つのログファイルは1つのログトピックにのみ収集されます。1つのファイルを複数の収集設定に対応させる必要がある場合は、ソースファイルにソフトリンクを追加し、それを別の収集設定に追加してください。

収集パス拒否リストの設定

収集パスの拒否リストを有効にすると、収集時に指定したディレクトリプレフィックスまたは完全なファイルパスを無視できます。ディレクトリパスとファイルパスは完全一致にすることも、ワイルドカードパターンマッチングをサポートすることもできます。



収集拒否リストは2種類のフィルタリングタイプに分かれており、同時に使用できます:
ファイルパス:収集パス配下で、収集を無視する必要がある完全なファイルパスです。ワイルドカード*または?をサポートし、**によるパスのあいまい一致をサポートします。
ディレクトリパス:収集パス配下で、収集を無視する必要があるディレクトリプレフィックスです。ワイルドカード*または?をサポートし、**によるパスのあいまい一致をサポートします。
注意:
LogListener 2.3.9以降のバージョンが必要です。
収集拒否リストは収集パス配下で除外を行うため、ファイルパスモードであっても、ディレクトリパスモードであっても、指定するパスは収集パスのサブセットである必要があります。

収集戦略の設定

全量収集:LogListenerがファイルを収集する際、ファイルの先頭から読み取りを開始します。
增量収集:LogListenerがファイルを収集する際、ファイル内に新しく追加されたコンテンツのみを収集します。

遡及収集の設定


収集ポリシーとして増分収集を選択した場合、ここでさらに遡及収集の開始点を設定できます。LogListener起動時に、最新位置から指定したバイト数だけ前方にオフセットして収集を開始するかどうかを指定できます。
注意:
Windowsシステム環境は現在サポートされていません。

エンコードモード

UTF-8:お客様のログファイルのエンコードモードがUTF-8の場合、このオプションを選択してください。
GBK:お客様のログファイルのエンコードモードがGBKの場合、このオプションを選択してください。

組み合わせ解析モードの設定

抽出モードを組み合わせ解析に設定します。下図に示すとおりです:


カスタムメタデータの設定

注意:
カスタムメタデータを設定できるのは、LogListener 2.8.7以降のバージョンのみです。
カスタムメタデータを設定してログを区別できます。現在、以下の種類のメタデータ設定がサポートされています。詳細については、カスタムメタデータをご参照ください。
マシングループメタデータ:マシングループメタデータを使用します。
収集パス:正規表現を使用して収集パスから値を抽出し、メタデータとして使用します。
カスタム:カスタムキー値をメタデータとして使用します。

アップロード解析失敗ログの設定

アップロード解析失敗ログを有効にすることをお勧めします。有効にすると、LogListenerは様々な解析失敗ログをアップロードします。アップロード解析失敗ログを無効にすると、失敗ログは破棄されます。



有効にした後、解析失敗のKey値を設定する必要があります(デフォルトはLogParseFailure)。解析に失敗したすべてのログは、入力内容をキー名(Key)とし、元のログ内容を値(Value)としてアップロードされます。

元のログのアップロード

有効にすると、LogListenerは元のログと解析済みのログを一緒にアップロードします。すべての元のログは、お客様が指定したキー名を使用し、元のログ内容を値(Value)としてアップロードされます。

高度な設定

チェックを入れることで、定義が必要な詳細設定を選択します。



組み合わせ解析抽出モードでは、以下の詳細設定を設定できます。
名前
説明
設定項目
タイムアウト属性
この設定はログファイルのタイムアウト時間を制御します。ログファイルが指定時間内に更新されない場合、タイムアウトとみなされます。タイムアウトしたログファイルは、LogListener によって収集されなくなります。ログファイルの数が多い場合は、LogListener のパフォーマンス浪費を避けるため、タイムアウト時間を短縮することをお勧めします。
タイムアウトなし:ログファイルはタイムアウトしません。
カスタム:カスタムログファイルのタイムアウト時間を設定します。
最大ディレクトリ深度
この設定はログ収集の最大ディレクトリ深度を制御します。LogListener は、所在ディレクトリ階層が指定された最大ディレクトリ深度を超えるログファイルを収集しません。対象収集パスにワイルドカードが含まれる場合は、LogListener のパフォーマンス浪費を避けるため、適切な最大ディレクトリ深度を設定することをお勧めします。
0より大きい整数です。0はサブディレクトリへのドリルダウンを行わないことを表します。

ステップ4:インデックス設定

1. 次へをクリックすると、「インデックス設定」ページに移動します。
2. 「インデックス設定」ページで、以下の情報を設定します。設定の詳細については、インデックス設定を参照してください。

注意:
検索を有効にするにはインデックス設定をオンにする必要があります。オンにしない場合は検索できません。
3. 送信をクリックすると、インデックス設定の編集確認ページに移動します。
設定したインデックス設定を新規に書き込まれるログにのみ適用する場合は、確定をクリックします。この設定を履歴データにも適用する場合は、確定をクリックした後、詳細についてはインデックスの再構築を参照して、さらに設定を行ってください。
4. 操作に成功し、収集設定が完了しました。

利用制限

組み合わせ解析モードでデータを解析する場合、LogListenerはより多くのリソースを消費するため、複雑すぎるプラグインの組み合わせを使用してデータを処理することは推奨されません。
組み合わせ解析モードを使用すると、テキストモードの収集機能とフィルター機能は無効になりますが、その一部の機能は関連するカスタムプラグインで実現できます。
組み合わせ解析モードを使用すると、解析失敗ログのアップロード機能はデフォルトで有効になります。解析に失敗したログは、入力名をキー(Key)、元のログ内容を値(Value)としてアップロードされます。

関連操作

ログ検索

1. CLSコンソールにログインします。
2. 左側のナビゲーションバーで検索分析をクリックし、検索分析ページに入ります。
3. 実際のニーズに応じて、リージョン、ログセット、ログトピックを選択すると、設定した検索条件に従ってログの検索を開始できます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック