Logtailは、生ログを構造化データに解析するデータ処理用のプラグインを提供します。
背景情報
データ処理用のLogtailプラグインは、ネイティブプラグインと拡張プラグインに分類されます。
ネイティブプラグインは高いパフォーマンスを提供し、ほとんどのビジネスシナリオに適しています。 ネイティブプラグインの使用を推奨します。
拡張プラグインは、より多くの機能を提供します。 ネイティブプラグインを使用して複雑なビジネスログを処理できない場合は、拡張プラグインを使用してログを解析できます。 しかし、この場合、システム性能が損なわれる可能性がある。
制限事項
パフォーマンスの制限
拡張プラグインを使用してログを処理すると、Logtailはより多くのリソースを消費します。 ほとんどのリソースはCPUリソースです。 ビジネス要件に基づいてLogtailパラメーター設定を変更できます。 詳細については、「Logtailの起動パラメーターの設定」をご参照ください。
5メガバイト/秒を超える速度で生ログが生成される場合は、複雑なプラグインの組み合わせを使用してログを処理しないことをお勧めします。 拡張プラグインを使用してログを事前に処理し、データ変換機能を使用してログをさらに処理できます。
ログ収集の制限
拡張プラグインは、テキストログを処理するためにラインモードを使用します。 このモードでは、
__tag __:__ path__
や__topic___
などのファイルのメタデータが各ログに記録されます。ログを処理するために拡張プラグインを追加する場合、タグ関連の機能には次の制限が適用されます。
コンテキストクエリとLiveTail機能は使用できません。 機能を使用する場合は、アグリゲーター構成を追加する必要があります。
__topic__
フィールドの名前が__log_topic__
に変更されました。 アグリゲーター設定を追加すると、ログには__topic__
および__log_topic__
フィールドが含まれます。__log_topic__
フィールドが必要ない場合は、processor_dropプラグインを使用してフィールドを削除できます。__tag __:__ path__
などのタグフィールドの場合、元のフィールドインデックスは無効になります。 フィールドのインデックスを再設定する必要があります。 詳細については、「インデックスの作成」をご参照ください。
プラグインの組み合わせに関する制限
V2.0より前のLogtailのプラグイン (V2.0を除く) の場合:
ネイティブプラグインと拡張プラグインを同時に追加することはできません。
ネイティブプラグインは、テキストログの収集にのみ使用できます。 ネイティブプラグインを追加するときは、次の項目に注意してください。
データ処理には、データ解析 (Regexモード) 、データ解析 (デリミターモード) 、データ解析 (JSONモード) 、データ解析 (NGINXモード) 、データ解析 (Apacheモード) 、データ解析 (IISモード) のいずれかを最初のプラグインとして追加する必要があります。
最初のプラグインを追加した後、1つのTime Parsingプラグイン、1つのData Filteringプラグイン、および複数のData Maskingプラグインを追加できます。
Logtail V2.0のプラグインの場合: 拡張プラグインは、ネイティブプラグインを追加した後にのみ追加できます。
ネイティブプラグイン関連のパラメーターの組み合わせの制限
V2.0より前のLogtailのネイティブプラグインの場合、次のパラメーターの組み合わせのみを使用することを推奨します。 プラグインは、データ解析 (Regexモード) 、データ解析 (JSONモード) 、データ解析 (デリミターモード) 、データ解析 (NGINXモード) 、データ解析 (Apacheモード) 、データ解析 (IISモード) を指します。 他のパラメーターの組み合わせでは、Simple Log Serviceは設定の効果を保証しません。
解析されたログをアップロードします。
解析が成功した場合は解析後に取得したログをアップロードし、解析が失敗した場合は生ログをアップロードします。
解析後に取得したログをアップロードし、解析が成功した場合は生ログフィールドをログに追加し、解析が失敗した場合は生ログをアップロードします。
たとえば、生ログが
"content": "{" request_method ":" GET ", " request_time ":" 200 "}"
で、生ログが正常に解析された場合、システムは、解析後に取得されたログに生ログフィールドを追加します。 生のログフィールドは、[元のフィールドの新しい名前] パラメーターで指定します。 パラメーターを設定しない場合は、元のフィールド名が使用されます。 フィールド値は{"request_method":"GET", "request_time":"200"}
です。
プラグインの追加
Logtail設定を変更するときにプラグインを追加する
にログインします。Simple Log Serviceコンソール.
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
を選択します。 必要なLogstoreの > をクリックします。 次に、 を選択します。
Logtail設定リストで、必要なLogtail設定を見つけ、[操作] 列の [Logtail設定の管理] をクリックします。
ページの左上隅にある [編集] をクリックします。 [プロセッサの構成] セクションで、Logtailプラグインを追加し、[保存] をクリックします。
Logtail設定の作成時にプラグインを追加する
にログインします。Simple Log Serviceコンソール.
表示されるページの右側にあるクイックデータインポートカードをクリックします。
[データのインポート] ダイアログボックスでカードをクリックし、指示に従ってウィザードでパラメーターを設定し、ウィザードの [Logtail設定] ステップでLogtailプラグインを追加します。 詳細については、「サーバーからのテキストログの収集」をご参照ください。
説明Logtail構成を作成するときに追加するLogtailプラグイン構成は、Logtail構成を変更するときに追加するLogtailプラグイン構成と同じ方法で機能します。
データ処理用のLogtailプラグイン
ネイティブプラグイン
プラグイン | 説明 |
データ解析 (正規表現モード) | 正規表現に基づいてログフィールドを抽出し、ログをキーと値のペアに解析します。 詳細については、「正規表現モードでの解析」をご参照ください。 |
データ解析 (JSONモード) | JSONログをキーと値のペアに解析します。 詳細については、「JSONモードでの解析」をご参照ください。 |
データ解析 (区切り文字モード) | 区切り文字に基づいて、ログを構造化および解析してキーと値のペアにします。 詳細については、「区切り文字モードでの解析」をご参照ください。 |
データ解析 (NGINXモード) | NGINXログを構造化および解析してキーと値のペアにします。 詳細については、「NGINXモードでの解析」をご参照ください。 |
データ解析 (Apacheモード) | Apacheログを構造化してキーと値のペアに解析します。 詳細については、「Apacheモードでの解析」をご参照ください。 |
データ解析 (IISモード) | IISログをキーと値のペアに構造化および解析します。 詳細については、「IISモードでの解析」をご参照ください。 |
時間解析 | ログ時間を解析します。 詳細については、「解析時間」をご参照ください。 |
データフィルタリング | ログをフィルターします。 詳細は、「データフィルタリング」をご参照ください。 |
データマスキング | ログの機密コンテンツをマスクします。 詳細については、「データマスキング」をご参照ください。 |
拡張プラグイン
API 操作 | 説明 |
フィールドの抽出 | 正規表現を使用してフィールドを抽出します。 詳細については、「正規表現モード」をご参照ください。 |
開始キーワードと停止キーワードを固定してフィールドを抽出します。 詳細については、「アンカーモード」をご参照ください。 | |
CSVモードでフィールドを抽出します。 詳細は、「CSVモード」をご参照ください。 | |
1文字の区切り文字を使用してフィールドを抽出します。 詳細については、「1文字区切り文字モード」をご参照ください。 | |
複数文字の区切り文字を使用してフィールドを抽出します。 詳細については、「複数文字区切り文字モード」をご参照ください。 | |
キーと値のペアを分割してフィールドを抽出します。 詳細については、「キーと値のペアモード」をご参照ください。 | |
Grok式を使用してフィールドを抽出します。 詳細については、「Grokモード」をご参照ください。 | |
フィールドの追加 | フィールドを追加します。 詳細については、「フィールドの追加」をご参照ください。 |
ドロップフィールド | フィールドを削除します。 詳細については、「フィールドの削除」をご参照ください。 |
フィールドの名前変更 | フィールドの名前を変更します。 詳細については、「フィールドの名前変更」をご参照ください。 |
フィールドのカプセル化 | 1つ以上のフィールドをJSONオブジェクト形式のフィールドにカプセル化します。 詳細については、「フィールドのカプセル化」をご参照ください。 |
JSONフィールドを展開するExpand JSON fields | JSONフィールドを展開します。 詳細については、「JSONフィールドの拡張」をご参照ください。 |
ログのフィルター処理 | 正規表現を使用して、ログフィールドとフィルターログの値を一致させます。 詳細については、「processor_filter_regex」をご参照ください。 |
正規表現を使用して、ログフィールドとフィルターログの名前を一致させます。 詳細については、「processor_filter_key_regex」をご参照ください。 | |
ログ時間の抽出 | 生ログの時間フィールドを解析し、解析結果をログ時間として指定します。 詳細については、「Goでサポートされている時間形式」をご参照ください。 |
IPアドレスの変換 | ログ内のIPアドレスを地理的な場所に変換します。 地理的位置は、国、州、市、経度、および緯度の情報を含む。 詳細については、「IPアドレスの変換」をご参照ください。 |
機密データのマスク | ログ内の機密データを指定された文字列またはMD5ハッシュ値に置き換えます。 詳細については、「マスク機密データ」をご参照ください。 |
マップフィールド値 | フィールド値をマップします。 詳細については、「フィールド値のマップ」をご参照ください。 |
フィールドの暗号化 | 特定のフィールドを暗号化します。 詳細については、「フィールドの暗号化」をご参照ください。 |
データのエンコードとデコード | フィールド値をデコードします。 詳細については、「Base64デコード」をご参照ください。 |
フィールド値をエンコードします。 詳細については、「Base64エンコーディング」をご参照ください。 | |
MD5アルゴリズムを使用してデータをエンコードします。 詳細については、「MD5エンコーディング」をご参照ください。 | |
ログをメトリクスに変換する | 収集したログをSLSメトリックに変換します。 詳細については、「ログをSimple Log Serviceメトリクスに変換」をご参照ください。 |
ログをトレースに変換する | 収集したログをSLSトレースに変換します。 詳細については、「ログをSimple Log Serviceトレースに変換」をご参照ください。 |