tencent cloud

Cloud Log Service

ドキュメントCloud Log Service操作ガイドログ収集テキストログの収集単行-完全正規表現抽出モードによるログ収集

単行-完全正規表現抽出モードによるログ収集

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:31:24
AI翻訳

操作シナリオ

単一行-完全正規表現モードは、ログテキスト内の各行が1本の原始ログであり、かつ各ログを正規表現で複数のkey-valueキー値として抽出できるログ解析モードに適用されます。key-valueを抽出する必要がない場合は、単一行全文形式を参照して設定してください。 単一行-完全正規表現モードを設定する際は、最初にログサンプルを入力し、次にカスタム正規表現を定義する必要があります。設定が完了すると、システムは正規表現内のキャプチャグループに基づいて対応するkey-valueを抽出します。 本記事では、単一行-完全正規表現モードのログを収集する方法について詳しく説明します。

前提条件

対象ファイルが存在するサーバーにはLogListenerがインストールされています。詳細については以下を参照してください:
LogListener Linuxバージョンが2.2.2以上、またはLogListener Windowsバージョンが2.9.7以上であること。

効果プレビュー

1本のログの元データが以下であると仮定します:
10.135.46.111 - - [22/Jan/2019:19:19:30 +0800] "GET /my/course/1 HTTP/1.1" 127.0.0.1 200 782 9703 "http://127.0.0.1/course/explore?filter%5Btype%5D=all&filter%5Bprice%5D=all&filter%5BcurrentLevelId%5D=all&orderBy=studentNum" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0" 0.354 0.354
設定したカスタム正規表現は以下の通りです:
(\\S+)[^\\[]+(\\[[^:]+:\\d+:\\d+:\\d+\\s\\S+)\\s"(\\w+)\\s(\\S+)\\s([^"]+)"\\s(\\S+)\\s(\\d+)\\s(\\d+)\\s(\\d+)\\s"([^"]+)"\\s"([^"]+)"\\s+(\\S+)\\s(\\S+).*
システムが()キャプチャグループに基づいて対応するkey-valueを抽出した後、各グループのkey名を以下のようにカスタマイズできます:
body_bytes_sent: 9703
http_host: 127.0.0.1
http_protocol: HTTP/1.1
http_referer: http://127.0.0.1/course/explore?filter%5Btype%5D=all&filter%5Bprice%5D=all&filter%5BcurrentLevelId%5D=all&orderBy=studentNum
http_user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0
remote_addr: 10.135.46.111
request_length: 782
request_method: GET
request_time: 0.354
request_url: /my/course/1
status: 200
time_local: [22/Jan/2019:19:19:30 +0800]
upstream_response_time: 0.354

操作手順

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

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

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



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

4. ログデータソース選択ページで、サーバー及びアプリケーションを選択し、単一行完全正規表現-ファイルログを見つけてクリックし、収集設定プロセスに進みます。


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

収集対象サーバーにLogListenerがインストールされていない場合は、以下を参照してください:
新しいマシングループの作成
既存のマシングループを選択
新しいマシングループを作成する場合は、以下の操作を実行できます:
1. 新規マシングループをクリックします。

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

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

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


ステップ3:収集設定

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




収集設定ページで、収集ルール名を入力し、ログ収集パス形式に従って収集パスを入力します。ログ収集パス形式の参考は以下の通りです:
注意:
Linuxログパスは/で始まる必要があります。Windowsファイルパスはドライブ文字で始まる必要があります。例えばC:\\です。
Linuxシステムにおけるログパス:/[ディレクトリプレフィックス式]/**/[ファイル名式]、例えば:/data/log/**/*.log。
Windowsシステムにおけるログパス:[ドライブ文字]:\\[ディレクトリプレフィックス式]\\**\\[ファイル名式]、例えば:C:\\Program Files\\Tencent\\...\\*.log。
ログ収集パスを入力すると、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で始まる名前のログファイルを監視します。
注意:
Windowsシステム環境では、ソフトリンク収集は現在サポートされていません。
LogListener 2.3.9以降のバージョンでのみ、複数の収集パスを追加できます。
収集パスをlog/*.logに設定することをお勧めします。renameでログローテーション後の古いファイル名をlog/*.log.xxxxに変更してください。
デフォルトでは、1つのログファイルは1つのログトピックにのみ収集されます。1つのファイルを複数の収集設定に対応させる必要があり、ファイルが存在するシステム環境がLinuxである場合は、ソースファイルにソフトリンクを追加し、それを別の収集設定に追加してください。

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

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



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

収集戦略の設定

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

遡及収集の設定


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

エンコードモード

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

単一行-完全正規表現モードの設定

1. 収集設定ページで、「抽出モード」を単一行-完全正規表現に設定し、「ログサンプル」テキストボックスにログサンプルを入力します。下図に示す通りです:

2.
以下の規則に基づいて、正規表現を定義します:
システムは正規表現を定義する3つの方法を提供します:AI範囲選択モード、自動モード、手動モードです。
AI範囲選択モード:正規表現内の範囲選択で式を生成をクリックし、その後AIワンクリック範囲選択をクリックすると、AI範囲選択モードに入ります。
自動モード:範囲選択で式を生成をクリックすると、自動モードに切り替わります。
手动模式:式を直接手動で入力し、key-valueを抽出して検証します。
システムは、選択したモードと定義した正規表現に基づいて、対応するkey-valueを自動的に抽出して検証します。
AI 文字選択モード
自動モード
手動モード
1. 範囲選択で式を生成ツールをクリックしてください。

2. 表示された「
正規表現自動生成
」モーダルビューで、AIワンクリック範囲選択ツールをクリックしてください。

3. AIがお客様のログに対してインテリジェントな範囲選択を行い、対応するkey-value構造を識別し、値(value)に基づいてキー(key)を自動生成します。範囲選択の結果は右側の自動抽出結果テーブルに表示され、ここでキー(key)を変更できます。同時に、システムは範囲選択の結果に基づいて抽出正規表現を自動生成し、下側のテーブルに表示します。下図に示す通りです:

4. 確定をクリックします。
1. 範囲選択で式を生成ツールをクリックしてください。

2. 表示された「
正規表現自動生成
」モーダルビューで、実際の検索分析ニーズに応じて、マウスの左ボタンで抽出するkey-valueのログ内容を選択し、表示されたテキストボックスにキー(key)名を入力し、抽出を確認をクリックします。下図に示す通りです:

システムは自動的にその部分の内容に対して1つの正規表現を抽出し、自動抽出結果は右側のkey-valueテーブルに表示されます。自動抽出結果に基づいて自動生成された抽出正規表現は下側のテーブルに表示されます。下図に示す通りです:

3. すべてのkey-valueペアを抽出し終えるまで、自動モードの手順2を繰り返します。
4. 確定をクリックすると、システムは抽出されたkey-valueペアに基づいて完全な正規表現を自動的に生成します。
1. 正規表現のテキストボックスに、正規表現を入力してください。
2. 抽出検証をクリックすると、システムがログサンプルと正規表現が一致するかどうかを判断します。

説明:
AI範囲選択モード、自動モード、手動モードのいずれを使用する場合でも、定義を完了して検証に合格した後、抽出結果は「抽出結果」に表示されます。結果が期待どおりでない場合は、正規表現の定義に戻って再編集し、再度検証できます。
各key-valueペアのキー(key)名を定義するだけで、その名前をログ検索分析に使用できます。

より多くのログ検証

1. 複数の複雑なログサンプルデータがある場合、より多くのログに一致をオン

に設定すると、正規表現サンプルの通過率を検証できます。
2. 検証するログサンプルを入力し、改行文字で複数のデータを区切ります。検証をクリックすると、システムがサンプル通過率を検証します。

が表示された場合、検証に合格したことを示します。下図に示すとおりです:


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

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

ログタイムスタンプソースの設定

ログのタイムスタンプとして、ログ収集時刻または指定ログフィールドのいずれかを選択できます:
ログ収集時刻
ログフィールドの指定
ログ収集の時間をログ時間として使用します。

ログ内の指定フィールドの値をログの時間として使用します。
1. ログ時間フィールドで、抽出済みのValue値をログ時間として選択してください。

2. 時間形式解析で、この値に対応する解析式を手動で入力するか選択します。例えば、ログ内の時間を表す値が 07/Jul/2025:19:19:30 +0800 の場合、解析形式は %d/%b/%Y :%H:%M:%S %z です。詳細については時間形式の設定を参照してください。

3. 検証をクリックしてください。
注意:
時間形式の入力に誤りがある場合、ログ時間は収集時間を基準とします。

フィルター条件の設定

フィルターの目的は、ビジネスニーズに応じてログ収集フィルタリングルールを追加し、価値のあるログデータを選別できるようにすることです。
完全正規表現で収集する場合、カスタムのキーと値のペアに基づいてフィルタリング条件を設定する必要があります。サポートされるフィルタリングルールは以下のとおりです:
等しい:指定フィールド値が指定文字に一致するログのみを収集します。完全一致または正規表現一致をサポートします。
等しくない:指定フィールド値が指定文字に一致しないログのみを収集します。完全一致または正規表現一致をサポートします。
フィールド存在:指定フィールドが存在するログのみを収集します。
フィールド不存在:指定フィールドが存在しないログのみを収集します。
例えば、サンプルログを完全正規表現モードで解析した後、statusフィールドが400または500であるすべてのログデータを収集したい場合、keyにはstatusを設定し、フィルタリングルールで等しいを選択し、valueには400|500を設定します。
注意:
Windowsシステム環境は現在サポートされていません。
フィルタリングルール「等しくない」、「フィールドが存在する」、および「フィールドが存在しない」は、LogListener 2.9.3以降のバージョンでのみサポートされます。
複数のフィルタリング条件間の関係は「AND」論理です。同じkey名に対して複数のフィルタリング条件を設定した場合、ルールは上書きされます。

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

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



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

元のログのアップロード

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

高度な設定

注意:
Windowsシステム環境は現在サポートされていません。
チェックを入れることで、定義が必要な詳細設定を選択します。

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

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

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

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

関連操作

ログを検索するには、検索・分析ドキュメントを参照してください。


ヘルプとサポート

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

フィードバック