操作シナリオ
単一行フルテキスト抽出モードは、収集時に改行文字\\nを1つのログの終了文字として使用し、各ログをデフォルトのキー値__CONTENT__に格納することを案内します。ログデータ自体はログ構造化処理を行わず、ログフィールドも抽出しません。ログ属性の時間項目は、ログ収集の時間によって決定されます。このドキュメントでは、単一行フルテキスト抽出モードを使用してログを収集する方法について説明します。
前提条件
対象ファイルが存在するサーバーにはLogListenerがインストールされています。詳細については以下をご参照ください:
LogListener Linuxバージョンが2.1.1以上、またはLogListener Windowsバージョンが2.9.7以上であること。
効果プレビュー
あるログの元のデータが以下の通りであると仮定します:
Tue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64
ログは最終的にCLSによって以下のように処理されます:
__CONTENT__:Tue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64
操作手順
ステップ1:ログトピックの作成/選択
新しいログトピックを作成する場合は、以下の操作を実行できます:
2. 左側のナビゲーションバーで概要を選択し、概要ページに移動します。
3. クイックアクセス>サーバーとアプリケーションで、単一行フルテキスト-ファイルログを見つけてクリックし、LogListener収集設定フローに進みます。
4. ログトピックの作成ページで、実際のニーズに応じて、ログトピック名を入力し、ログ保存期間を設定し、ログセットなどの情報を選択し、次へをクリックします。
既存のログトピックを選択する場合は、以下の操作を実行できます:
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文字に一致することを示します。 カンマの入力はサポートされていません。 |
** | 現在のディレクトリおよびすべてのサブディレクトリを示します。 |
| ログファイル名では、ワイルドカード * と ? のみサポートされます。 * は複数の任意の文字に一致することを示します。 ? は任意の1文字に一致することを示します。 カンマの入力はサポートされていません。 |
よく使われる構成パターンは以下の通りです:
[共通ディレクトリプレフィックス]/**/[共通ファイル名プレフィックス]*
[共通ディレクトリプレフィックス]/**/*[共通ファイル名サフィックス]
[共通ディレクトリプレフィックス]/**/[共通ファイル名プレフィックス]*[共通ファイル名サフィックス]
[共通ディレクトリプレフィックス]/**/*[共通文字列]*
入力例は以下の通りです:
|
1 | | | この例では、ログパスは/var/log/nginx/**/access.logに設定されています。LogListenerは/var/log/nginxプレフィックスパス配下のすべてのサブディレクトリにある、access.logという名前のログファイルを監視します。 |
2 | | | この例では、ログパスは/var/log/nginx/**/*.logに設定されています。LogListenerは/var/log/nginxプレフィックスパス配下のすべてのサブディレクトリにある、.logで終わるログファイルを監視します。 |
3 | | | この例では、ログパスは/var/log/nginx/**/error*に設定されています。LogListenerは/var/log/nginxプレフィックスパス配下のすべてのサブディレクトリにある、errorで始まる名前のログファイルを監視します。 |
注意:
Windowsシステム環境では現在、シンボリックリンクの収集をサポートしていません。
LogListener 2.3.9以降のバージョンでのみ、複数の収集パスを追加できます。
ログローテーションのシナリオでは、収集パスをlog/*.logに設定し、ログローテーション後の古いファイル名をlog/*.log.xxxxにすることをお勧めします。
デフォルトでは、1つのログファイルは1つのログトピックにのみ収集されます。1つのファイルを複数の収集設定に対応させる必要があり、かつファイルが存在するシステム環境がLinuxである場合は、ソースファイルにシンボリックリンクを追加し、それを別の収集設定グループに追加してください。
収集パス拒否リストの設定
収集パス拒否リストを有効にすると、収集時に指定したディレクトリプレフィックスまたは完全なファイルパスを無視できます。ディレクトリパスとファイルパスは完全一致も、ワイルドカードパターンマッチングもサポートします。
収集拒否リストは2種類のフィルタリングタイプに分かれており、同時に使用できます:
ファイルパス:収集パス配下で、収集を無視する必要がある完全なファイルパスです。ワイルドカード*または?をサポートし、**パスのあいまい一致をサポートします。
ディレクトリパス:収集パス配下で、収集を無視する必要があるディレクトリプレフィックスです。ワイルドカード*または?をサポートし、**パスのあいまい一致をサポートします。
注意:
LogListener 2.3.9以降のバージョンが必要です。
収集拒否リストは収集パス配下で除外を行うため、ファイルパスパターンであれ、ディレクトリパスパターンであれ、指定するパスは収集パスのサブセットである必要があります。
収集ポリシーの設定
全量収集:LogListenerがファイルを収集する際、ファイルの先頭から読み取りを開始します。
増分収集:LogListenerがファイルを収集する際、ファイル内で新しく追加されたコンテンツのみを収集します。
遡及収集の設定
収集戦略として増分収集を選択した場合、ここでさらに遡及収集の開始位置を設定し、LogListener起動時に最新位置から指定バイト数だけ前方にオフセットして収集を開始するかどうかを指定できます。
注意:
Windowsシステム環境は現在サポートされていません。
エンコードモードの設定
UTF-8:お客様のログファイルのエンコードモードがUTF-8の場合、このオプションを選択してください。
GBK:お客様のログファイルのエンコードモードがGBKの場合、このオプションを選択してください。
単行全文フォーマットの設定
「収集設定」ページで、「抽出モード」を単行全文に設定します。下図に示す通りです:
カスタムメタデータの設定
カスタムメタデータを設定して、ログを区別できます。現在、以下のメタデータ設定がサポートされています。詳細はカスタムメタデータをご参照ください。 マシングループメタデータ:マシングループメタデータを使用します。
収集パス:正規表現を使用して収集パス内の値を抽出し、メタデータとして使用します。
カスタム:カスタムキー値をメタデータとして使用します。
注意:
LogListener-2.8.7以降のバージョンが必要です。
フィルター条件の設定
フィルターの目的は、ビジネスニーズに応じてログ収集フィルタールールを追加し、価値のあるログデータを選別できるようにすることです。
単行フルテキストモードでは、デフォルトで__CONTENT__をフルテキストのキー(key)名として使用し、以下のフィルタールールをサポートします:
等しい:指定フィールド値が指定文字に一致するログのみを収集します。完全一致、または正規表現一致をサポートします。
等しくない:指定フィールド値が指定文字に一致しないログのみを収集します。完全一致、または正規表現一致をサポートします。
例えば、単行フルテキストログのサンプル形式がTue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64である場合、1月22日当日のすべてのログを収集したいときは、keyに__CONTENT__を入力し、フィルタールール設定で等しいを選択し、valueにTue Jan 22.*を入力します。
注意:
Windowsシステム環境は現在サポートされていません。
フィルタールール「等しくない」、「フィールドが存在する」、および「フィールドが存在しない」は、LogListener 2.9.3以降のバージョンでのみサポートされます。
複数のフィルタ条件間の関係は「AND」論理です。同じkey名に複数のフィルタ条件を設定した場合、ルールは上書きされます。
高度な設定
チェックを入れて、定義する詳細設定を選択します:
単行フルテキストモードでは、以下の詳細設定を設定できます:
|
タイムアウト属性 | この設定はログファイルのタイムアウト時間を制御します。ログファイルが指定時間内に更新されない場合、タイムアウトとみなされます。タイムアウトしたログファイルは、LogListenerによって収集されなくなります。ログファイルの数が多い場合は、タイムアウト時間を短くして、LogListenerのパフォーマンスの無駄を避けることをお勧めします。 | タイムアウトなし:ログファイルがタイムアウトすることはありません。 カスタム:ログファイルのタイムアウト時間をカスタマイズします。 |
最大ディレクトリ深度 | この設定はログ収集の最大ディレクトリ深度を制御します。LogListenerは、所在ディレクトリ階層が指定された最大ディレクトリ深度を超えるログファイルを収集しません。対象収集パスにワイルドカードが含まれる場合は、適切な最大ディレクトリ深度を設定し、LogListenerのパフォーマンス浪費を回避することをお勧めします。 | 0より大きい整数です。0はサブディレクトリの下位走査を行わないことを表します。 |
注意:
Windowsシステム環境は現在サポートされていません。
データ加工
収集したCLSログを構造化、マスキング、フィルタリングなどでさらに処理してからログトピックに書き込む必要がある場合は、収集設定ページ下部のデータ加工をクリックしてデータ加工を追加し、最後にインデックスを設定します。 説明:
データ加工関連の操作については、加工タスクの作成ドキュメントの【前置データ加工】タブページを参照してください。 データ加工には料金が発生します。詳細は課金概要をご覧ください。 ステップ4:インデックス設定
1. 次へをクリックし、インデックス設定ページに進みます。
2. インデックス設定ページで、以下の情報を設定します。設定の詳細については、インデックス設定を参照してください。 注意:
検索にはインデックス設定を有効にする必要があります。有効にしない場合、検索できません。
3. 送信をクリックして編集インデックス設定確認ページに進み、確定をクリックします。
設定したインデックス設定を新規に書き込まれるログにのみ適用する場合は、確定をクリックします。この設定を履歴データにも適用する場合は、確定をクリックした後、詳細についてはインデックスの再構築を参照して、さらに設定を行ってください。 4. 操作に成功し、収集設定が完了しました。
関連操作
ログを検索するには、検索分析ドキュメントを参照してください。