Logtail は、未加工ログを構造化データに解析するためのデータ処理用プラグインを提供します。
背景情報
データ処理用の Logtail プラグインは、ネイティブプラグインと拡張プラグインに分類されます。
ネイティブプラグインは高性能で、ほとんどのビジネスシナリオに適しています。ネイティブプラグインを使用することをお勧めします。
拡張プラグインは、より多くの機能を提供します。ネイティブプラグインを使用して複雑なビジネスログを処理できない場合は、拡張プラグインを使用してログを解析できます。ただし、この場合はシステムパフォーマンスが低下する可能性があります。
制限事項
パフォーマンスの制限
拡張プラグインを使用してログを処理する場合、Logtail はより多くのリソースを消費します。リソースのほとんどは CPU リソースです。ビジネス要件に基づいて Logtail パラメータ設定を変更できます。詳細については、「Logtail の起動パラメータを構成する」をご参照ください。
未加工ログが 5 MB/s を超える速度で生成される場合は、複雑なプラグインの組み合わせを使用してログを処理しないことをお勧めします。拡張プラグインを使用してログを予備的に処理し、データ変換機能を使用してログをさらに処理できます。詳細については、「データ変換」をご参照ください。
ログ収集の制限
拡張プラグインは、ラインモードを使用してテキストログを処理します。このモードでは、
__tag__:__path__
フィールドや__topic__
フィールドなどのファイルのメタデータは、各ログに格納されます。ログを処理するために拡張プラグインを追加する場合、タグ関連の機能には次の制限が適用されます。
コンテキストクエリと LiveTail 機能は使用できません。これらの機能を使用するには、アグリゲータ構成を追加する必要があります。
__topic__
フィールドの名前は__log_topic__
に変更されます。アグリゲータ構成を追加した後、ログには__topic__
フィールドと__log_topic__
フィールドが含まれます。__log_topic__
フィールドが不要な場合は、processor_drop プラグインを使用してフィールドを削除できます。詳細については、「processor_drop」をご参照ください。__tag__:__path__
などのタグフィールドの場合、元のフィールドインデックスは有効になりません。フィールドのインデックスを再作成する必要があります。詳細については、「インデックスを作成する」をご参照ください。
プラグインの組み合わせの制限
V2.0 より前の Logtail のプラグインの場合:
ネイティブプラグインと拡張プラグインを同時に追加することはできません。
ネイティブプラグインは、テキストログを収集するためにのみ使用できます。ネイティブプラグインを追加する場合は、次の項目に注意してください。
最初のプラグインとして、データ解析 (正規表現モード)、データ解析 (デリミタモード)、データ解析 (JSON モード)、データ解析 (NGINX モード)、データ解析 (Apache モード)、データ解析 (IIS モード) のいずれかの Logtail プラグインを追加する必要があります。
最初のプラグインを追加した後、時間解析プラグインを 1 つ、データフィルタリングプラグインを 1 つ、データマスキングプラグインを複数追加できます。
Logtail V2.0 のプラグインの場合: 拡張プラグインは、ネイティブプラグインを追加した後にのみ追加できます。
ネイティブプラグイン関連のパラメータの組み合わせの制限
V2.0 より前の Logtail のネイティブプラグインの場合、次のパラメータの組み合わせのみを使用することをお勧めします。プラグインとは、データ解析 (正規表現モード)、データ解析 (JSON モード)、データ解析 (デリミタモード)、データ解析 (NGINX モード)、データ解析 (Apache モード)、データ解析 (IIS モード) を指します。その他のパラメータの組み合わせについては、Simple Log Service は構成の効果を保証しません。
解析されたログをアップロードします。
解析に成功した後に取得されたログをアップロードし、解析に失敗した場合は未加工ログをアップロードします。
解析後に取得されたログをアップロードします。解析に成功した場合は未加工ログフィールドをログに追加し、失敗した場合は未加工ログを追加します。
たとえば、未加工ログが
"content": "{"request_method":"GET", "request_time":"200"}"
で、解析に成功した場合、システムは [元のフィールドの新しい名前] パラメータで指定された未加工ログフィールドを追加します。このパラメータを構成しない場合は、元のフィールド名が使用されます。フィールド値は{"request_method":"GET", "request_time":"200"}
です。
プラグインを追加する
Logtail 構成を変更するときにプラグインを追加する
Simple Log Service コンソール にログオンします。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
を選択します。必要なログストアの [>] をクリックします。次に、 を選択します。
[Logtail 構成] リストで、必要な Logtail 構成を見つけ、[アクション] 列の [Logtail 構成の管理] をクリックします。
ページの左上隅にある [編集] をクリックします。[プロセッサ構成] セクションで、Logtail プラグインを追加し、[保存] をクリックします。
Logtail 構成を作成するときにプラグインを追加する
Simple Log Service コンソール にログオンします。
表示されるページの右側にある [クイックデータインポート] カードをクリックします。
[データのインポート] ダイアログボックスで、カードをクリックし、指示に従ってウィザードのパラメータを構成し、ウィザードの [Logtail 構成] ステップで Logtail プラグインを追加します。詳細については、「サーバーからテキストログを収集する」をご参照ください。
説明Logtail 構成を作成するときに追加する Logtail プラグイン構成は、Logtail 構成を変更するときに追加する Logtail プラグイン構成と同じように機能します。
データ処理用の Logtail プラグイン
ネイティブプラグイン
プラグイン | 説明 |
データ解析 (正規表現モード) | |
データ解析 (JSON モード) | |
データ解析 (デリミタモード) | |
データ解析 (NGINX モード) | |
データ解析 (Apache モード) | |
データ解析 (IIS モード) | |
時間解析 | |
データフィルタリング | |
データマスキング |
拡張プラグイン
操作 | 説明 |
フィールドを抽出する | |
フィールドを追加する | |
フィールドを削除する | |
フィールドの名前を変更する | |
フィールドをカプセル化する | 1 つ以上のフィールドを JSON オブジェクト形式のフィールドにカプセル化します。詳細については、「拡張プラグイン: フィールドのカプセル化」をご参照ください。 |
JSON フィールドを展開する | |
ログをフィルタリングする | 正規表現を使用してログフィールドの値を照合し、ログをフィルタリングします。詳細については、「processor_filter_regex」をご参照ください。 |
正規表現を使用してログフィールドの名前を照合し、ログをフィルタリングします。詳細については、「processor_filter_key_regex」をご参照ください。 | |
ログ時間を抽出する | 未加工ログの時間フィールドを解析し、解析結果をログ時間として指定します。詳細については、「Go 言語時間形式」をご参照ください。 |
IP アドレスを変換する | ログ内の IP アドレスを地理的な場所にに変換します。地理的な場所には、国、都道府県、市、経度、緯度などの情報が含まれます。詳細については、「拡張プラグイン: IP アドレスの変換」をご参照ください。 |
機密データをマスキングする | ログ内の機密データを指定された文字列または MD5 ハッシュ値に置き換えます。詳細については、「拡張プラグイン: データマスキング」をご参照ください。 |
フィールド値をマッピングする | |
フィールドを暗号化する | |
データをエンコードおよびデコードする | |
ログをメトリックに変換する | 収集されたログを Simple Log Service メトリックに変換します。詳細については、「拡張プラグイン: Log to Metric」をご参照ください。 |
ログをトレースに変換する | 収集されたログを Simple Log Service トレースに変換します。詳細については、「拡張プラグイン: Log to Trace」をご参照ください。 |