すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:サーバーからのテキストログの収集

最終更新日:Mar 01, 2026

異なるサーバーに分散している業務ログおよびシステムログは、一元的に検索・監視・分析することが困難です。LoongCollector (Logtail) を使用して、ECS インスタンス、オンプレミス IDC、または他のクラウドプロバイダーのホストからテキストログをリアルタイムで収集し、Simple Log Service (SLS) に送信して一元的に管理・分析できます。すべてのログを一度に収集する方法については、「ホストのテキストログを一括で収集する」をご参照ください。

注意事項

  • 対応オペレーティングシステムおよびアーキテクチャ:

    LoongCollector は Linux システムのみをサポートします。Windows ホストの場合は Logtail を使用してください。新しい収集ユースケースには LoongCollector の使用を推奨します。

    LoongCollector は SLS の次世代ログ収集エージェントであり、Logtail のアップグレード版です。LoongCollector または Logtail のいずれか一方のみをインストールしてください。両方をインストールする必要はありません。
  • 計算リソース要件:

    • CPU:最低 0.4 コア。

    • メモリ:最低 300 MB。

    • 推奨使用方法:安定した動作を確保するため、LoongCollector (Logtail) の実際のリソース使用量を上限の 80% 以下に保つことを推奨します。実際の使用量は、収集速度、監視対象ディレクトリおよびファイル数、送信ブロッキングの程度などの要因によって異なります。

  • 権限要件:

    Resource Access Management (RAM) ユーザーを使用する場合、AliyunLogFullAccess 権限および AliyunECSFullAccess 権限を付与する必要があります。詳細な権限付与を行う場合は、「付録:カスタム権限ポリシー」をご参照ください。

収集構成ワークフロー

  1. 事前準備 プロジェクトと Logstore を作成します。プロジェクトは異なるアプリケーションログを分離するためのリソース管理単位であり、Logstore はログを格納するために使用されます。

  2. マシングループの設定 (LoongCollector のインストール) サーバータイプに応じて LoongCollector をインストールし、サーバーをマシングループに追加します。マシングループは収集ノードの管理、構成の配布、サーバーステータスの管理に使用されます。

  3. ログ収集ルールの作成と設定

    1. グローバルおよび入力構成:収集構成の名前、ログ収集元、および収集範囲を定義します。

    2. ログ処理と構造化 ログフォーマットに基づいて処理ルールを設定します。

      • 複数行ログ:Java 例外スタックや Python トレースバックなど、1 つのログが複数行にわたる場合に使用します。正規表現を使用して各ログの開始位置を識別し、連続する行を 1 つの完全なログにマージします。

      • 構造化解析:正規表現、セパレーター、NGINX パターンプラグインなどの解析プラグインを使用して、生の文字列を構造化されたキーと値のペアに抽出します。これにより、各フィールドを個別にクエリおよび分析できるようになります。

    3. ログフィルタリング:収集ブラックリストおよびコンテンツフィルタリングルールを設定して、有効なログコンテンツを絞り込みます。これにより、冗長データの転送および保存を削減できます。

    4. ログ分類 Topic を使用して、異なるアプリケーション、サーバー、またはパスソースからのログを区別します。

  4. クエリおよび分析構成:全文インデックスはデフォルトで有効になっており、キーワード検索をサポートします。構造化フィールドの正確なクエリおよび分析を有効にして検索効率を向上させるには、フィールドインデックスを有効にしてください。

  5. 検証およびトラブルシューティング:構成が完了したら、ログが正常に収集されているかどうかを検証します。データ収集がない、ハートビートが失敗する、解析エラーが発生するなどの問題が発生した場合は、「よくある質問」を参照してトラブルシューティングを行ってください。

事前準備

ログを収集する前に、ログを管理および保存するためのプロジェクトと Logstore を作成する必要があります。これらのリソースがすでに存在する場合は、この手順をスキップして「マシングループの設定 (LoongCollector のインストール)」に進んでください。

プロジェクトの作成

  1. [Simple Log Service コンソール]」にログインしてください。

  2. プロジェクトの作成をクリックし、以下のパラメーターを設定します。

    • リージョン:ログソースが配置されているリージョン。作成後は変更できません。

    • プロジェクト名:Alibaba Cloud 内でグローバルに一意である必要があります。作成後は変更できません。

    • その他の構成はデフォルト設定のままにして、作成をクリックします。他のパラメーターの詳細については、「プロジェクトの作成」をご参照ください。

Logstore の作成

  1. プロジェクト名をクリックして、対象のプロジェクトに移動します。

  2. 左側のナビゲーションウィンドウで、imageログストレージを選択し、+をクリックします。

  3. Logstore 作成ページで、以下の主要な構成を完了します。

    • Logstore 名:プロジェクト内で一意となる Logstore の名前。作成後は変更できません。

    • Logstore タイプ:要件に応じて標準またはクエリを選択します。

    • 課金方法

      • 機能単位課金:ストレージ、インデックス、読み取り/書き込み操作などのリソースが個別に課金される課金方法です。小規模なユースケースや機能使用量が予測できない場合に適しています。

      • インジェストデータ量課金:書き込まれた生データのボリュームのみに基づいて課金されます。この課金方法には 30 日間の無料ストレージと、データ変換および配信などの補完機能が含まれます。ストレージ期間が約 30 日間であるビジネスユースケースや、複雑なデータ処理パイプラインに最適です。

    • データ保持期間:ログを保持する日数 (1 ~ 3,650 日)。3,650 日を指定すると永続的に保存されます。デフォルトは 30 日です。

    • その他の構成はデフォルト設定のままにして、OKをクリックします。他の構成の詳細については、「Logstore の管理」をご参照ください。

ステップ 1:マシングループの設定 (LoongCollector のインストール)

事前準備」が完了したら、ご利用のサーバーに LoongCollector をインストールし、マシングループに追加します。

説明

以下のインストール手順は、ログソースが SLS プロジェクトと同じ Alibaba Cloud アカウントおよびリージョンにある Alibaba Cloud ECS インスタンスの場合にのみ適用されます。

ECS インスタンスとプロジェクトが異なるアカウントまたはリージョンにある場合、またはログソースがオンプレミスサーバーである場合は、「LoongCollector のインストールおよび設定」をご参照ください。

操作手順:

  1. imageLogstores ページで、対象の Logstore 名の前のimageアイコンをクリックして展開します。

  2. [データ収集]」の横にある image アイコンをクリックし、「[クイックデータインポート]」ダイアログボックスで、テキストログ収集テンプレート(例:1 行 - テキストログ)を選択して、「[今すぐ統合]」をクリックします。

    すべてのテキストログ収集テンプレートは解析プラグインのみが異なり、それ以外の構成プロセスは同じであり、後から変更可能です。
  3. マシングループ構成ページで、以下のパラメーターを設定します。

    • シナリオサーバー

    • インストール環境ECS

    • マシングループの選択: 対象サーバーの LoongCollector インストール状況およびマシングループ構成に基づいて、対応する操作を選択します。

      • LoongCollector がインストール済みでマシングループに追加済みの場合、ソースマシングループリストからマシングループを選択し、適用サーバーグループに追加します。新しく作成する必要はありません。

      • LoongCollector が未インストールの場合、マシングループの作成をクリックします。

        以下の手順では、LoongCollector のワンクリック自動インストールおよびマシングループの作成について説明します。
        1. システムは自動的にプロジェクトと同じリージョンにある ECS インスタンスを一覧表示します。ログを収集する 1 つ以上のインスタンスを選択します。

        2. インストールおよびマシングループの作成をクリックします。システムは選択した ECS インスタンスに自動的に LoongCollector をインストールします。

        3. マシングループの名前を設定し、OKをクリックします。

        説明

        インストールが失敗するか、待機状態のままである場合は、ECS リージョンがプロジェクトリージョンと同じかどうかを確認してください。

      • LoongCollector がすでにインストールされているサーバーを既存のマシングループに追加する場合は、「既存のマシングループにサーバーを追加する方法は?」をご参照ください。

  4. ハートビートステータスの確認: 次へをクリックします。マシングループハートビートセクションが表示されます。ハートビートステータスを確認します。ステータスが OK の場合、マシングループ接続は正常です。次へをクリックして Logtail 構成ページに移動します。

    ステータスが FAIL の場合、初期ハートビートの確立に時間がかかることがあります。約 2 分待ってからハートビートステータスを更新してください。更新後も FAIL の場合は、「マシングループハートビートが FAIL になる」を参照してさらにトラブルシューティングを行ってください。

ステップ 2:ログ収集ルールの作成と設定

LoongCollector のインストールおよびマシングループ構成」が完了したら、Logtail 構成ページに移動して、ログ収集および処理ルールを定義します。

1. グローバルおよび入力構成

収集構成の名前、ログ収集元、および収集範囲を定義します。

グローバル構成

  • 構成名:収集構成のカスタム名。この名前はプロジェクト内で一意である必要があり、作成後は変更できません。命名規則:

    • 小文字、数字、ハイフン (-)、アンダースコア (_) のみを使用できます。

    • 小文字または数字で始まり、小文字または数字で終わる必要があります。

入力構成

  • タイプテキストログ収集

  • ファイルパス:ログ収集パス。

    • Linux:パスはスラッシュ (/) で始まる必要があります。例:/data/mylogs/**/*.log は、/data/mylogs ディレクトリおよびそのサブディレクトリ内の .log 拡張子を持つすべてのファイルを示します。

    • Windows:パスはドライブ文字で始まる必要があります。例:C:\Program Files\Intel\**\*.Log

  • 最大ディレクトリ監視深度ファイルパス内の ** ワイルドカード文字が一致するディレクトリの最大深度。デフォルト値は 0 で、現在のディレクトリのみを監視することを示します。


2. ログ処理と構造化

生の非構造化ログを構造化された検索可能なデータに変換するためのログ処理ルールを設定します。これにより、ログクエリおよび分析の効率が向上します。ログサンプルをまず追加することを推奨します

プロセッサー構成セクションのLogtail 構成ページで、サンプルログの追加をクリックして収集するログコンテンツを入力します。システムはサンプルに基づいてログフォーマットを識別し、正規表現および解析ルールを生成して構成を簡素化します。

ユースケース 1:複数行ログの処理 (Java スタックログなど)

Java 例外スタックや JSON オブジェクトなどのログは複数行にわたることが多いため、デフォルトの収集モードでは複数の不完全なレコードに分割され、コンテキストが失われます。これを防ぐには、複数行モードを有効にして「先頭行に一致する正規表現」を設定し、同じログの連続する行を 1 つの完全なログにマージします。

例:

処理されていない生ログ

デフォルト収集モードでは各行が個別のログとなり、スタックトレースが分割されコンテキストが失われる

複数行モードを有効にすると、「先頭行に一致する正規表現」が完全なログを識別し、完全なセマンティック構造を保持する。

image

image

image

操作手順: プロセッサー構成セクションのLogtail 構成ページで、複数行モードを有効にします。

  • タイプで、カスタムまたは複数行 JSONを選択します。

    • カスタム:フォーマットが可変の生ログの場合、「先頭行に一致する正規表現」を設定して各ログの開始行を識別します。

      • 先頭行に一致する正規表現:完全なデータ行に一致する正規表現を自動生成または手動で入力します。例として、上記の例の正規表現は \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.* です。

        • 自動生成:[生成] をクリックします。次に、[ログサンプル] テキストボックスで抽出するログコンテンツを選択し、[自動生成] をクリックします。

        • 手動入力:[正規表現を手動で入力] をクリックします。式を入力後、[検証] をクリックします。

    • 複数行 JSON:ログが標準 JSON フォーマットの場合、SLS は自動的に単一生ログ内の改行を処理します。

  • 分割失敗時の処理方法

    • 破棄:開始行ルールに一致しないテキストセグメントを破棄します。

    • 単一行として保持:一致しないテキストを個別の行として保持します。

ユースケース 2:構造化ログ

生ログが NGINX アクセスログやアプリケーション出力ログなどの非構造化または半構造化テキストの場合、直接クエリおよび分析を行うのは非効率的です。SLS はさまざまなデータ解析プラグインを提供しており、異なるフォーマットの生ログを自動的に構造化データに変換できます。これにより、後続の分析、監視、アラートのための堅固なデータ基盤が提供されます。

例:

生ログ

構造化ログ

192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"
body_bytes_sent: 368
http_referer: -
http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36
remote_addr:192.168.*.*
remote_user: -
request_length: 514
request_method: GET
request_time: 0.000
request_uri: /nginx-logo.png
status: 200
time_local: 15/Apr/2025:16:40:00

操作手順: プロセッサー構成セクションのLogtail 構成ページで

  1. 解析プラグインの追加: [プロセッサーの追加] をクリックし、実際のフォーマットに基づいて正規表現解析、セパレーター解析、JSON 解析などのプラグインを設定します。この例では NGINX ログ収集を使用し、ネイティブプロセッサー > データ解析 (NGINX モード)を選択します。

  2. NGINX ログ構成:NGINX サーバー構成ファイル (nginx.conf) から log_format 定義をコピーし、このテキストボックスに貼り付けます。

    例:

    log_format main  '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';
    重要

    ここで指定するフォーマット定義は、サーバー上でログを生成するフォーマットと完全に一致している必要があります。そうでない場合、ログ解析は失敗します。

  3. 一般的な構成パラメーターの説明: 以下のパラメーターは複数のデータ解析プラグインに共通して表示され、機能および使用方法は統一されています。

    • 元のフィールド: 解析対象のソースフィールド名を指定します。デフォルトは content で、これは収集されたログエントリ全体を示します。

    • 解析失敗時に元のフィールドを保持: このオプションを有効にすることを推奨します。プラグインによるログの解析が失敗した場合(例:フォーマットの不一致)、元のログコンテンツが失われることなく、指定されたソースフィールドに完全に保持されます。

    • 解析成功時に元のフィールドを保持: これを選択すると、ログが正常に解析された場合でも元のログコンテンツが保持されます。


3. ログフィルタリング

DEBUG レベルや INFO レベルなどの低価値または関連性の低い大量のログを収集すると、ストレージリソースが無駄になり、コストが増加し、クエリ効率に影響を与え、データ漏洩リスクを引き起こします。これを解決するには、効率的かつ安全なログ収集のために詳細なフィルタリングポリシーを実装します。

コンテンツフィルタリングによるコスト削減

ログコンテンツに基づいてフィールドをフィルタリングし、WARNING または ERROR レベルのログのみを収集します。

例:

処理されていない生ログ

WARNING または ERROR ログのみを収集

{"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}
{"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}
{"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}
{"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}
{"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}

操作手順: プロセッサー構成セクションのLogtail 構成ページで

[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データフィルタリングを選択します。

  • フィールド名:フィルタリングに使用するログフィールド。

  • フィールド値:フィルタリングに使用する正規表現。部分的なキーワード一致ではなく、完全一致のみがサポートされます。

ブラックリストによる収集範囲の制御

ブラックリストを使用して特定のディレクトリまたはファイルを除外し、関連性のないまたは機密性の高いログがアップロードされないようにします。

操作手順: Logtail 構成ページの入力構成 > その他の入力構成セクションで、収集ブラックリストを有効にして、[追加] をクリックします。

ディレクトリおよびファイル名の完全一致およびワイルドカード一致をサポートします。サポートされるワイルドカード文字はアスタリスク (*) および疑問符 (?) のみです。
  • ファイルパスブラックリスト:除外するファイルパスを指定します。例:

    • /home/admin/private*.log/home/admin/ ディレクトリ内で private で始まり .log で終わるすべてのファイルを無視します。

    • /home/admin/private*/*_inner.log/home/admin/ ディレクトリ内で private で始まるディレクトリ内の _inner.log で終わるファイルを無視します。

  • ファイルブラックリスト:収集時に無視するファイル名のリスト。例:

    • app_inner.log: 収集中に、名前が app_inner.log のすべてのファイルを無視します。

  • ディレクトリブラックリスト:ディレクトリパスはスラッシュ (/) で終わってはいけません。例:

    • /home/admin/dir1/:ディレクトリブラックリストは有効になりません。

    • /home/admin/dir*/home/admin/ ディレクトリ内で dir で始まるすべてのサブディレクトリ内のファイルを収集時に無視します。

    • /home/admin/*/dir/home/admin/ ディレクトリの第 2 レベルにある dir という名前のサブディレクトリ内のすべてのファイルを無視します。例として、/home/admin/a/dir ディレクトリ内のファイルは無視されますが、/home/admin/a/b/dir ディレクトリ内のファイルは収集されます。

4. ログ分類

/apps/app-A/run.log および /apps/app-B/run.log のように、複数のアプリケーションまたはインスタンスからのログが同じフォーマットで異なるパスにある場合、収集時にそのソースを区別するのは困難です。Topic を設定することで、異なるアプリケーション、サービス、またはパスからのログを論理的に区別できます。これにより、単一の Logstore 内で効率的な分類および正確なクエリが可能になります。

操作手順: グローバル構成 > その他のグローバル構成 > ログトピックタイプ:トピックを生成する方法を選択します。以下の 3 種類がサポートされています。

  • マシングループトピック: 収集構成が複数のマシングループに適用される場合、LoongCollector は自動的にサーバーのマシングループ名を __topic__ フィールドとしてアップロードします。これはホストごとにログを分割するユースケースに適しています。

  • カスタムcustomized://<custom_topic_name> の形式を使用します(例:customized://app-login)。これは固定のビジネス識別子を持つ静的トピックユースケースに適しています。

  • ファイルパス抽出: ログファイルのフルパスから重要な情報を抽出して、ログソースを動的にマークします。これは、複数のユーザーまたはアプリケーションが同じログファイル名を共有しているがパスが異なる状況に適しています。たとえば、複数のユーザーまたはサービスが異なるトップレベルディレクトリにログを書き込むが、サブパスおよびファイル名が同一の場合、ファイル名だけではソースを区別できません。

    /data/logs
    ├── userA
    │   └── serviceA
    │       └── service.log
    ├── userB
    │   └── serviceA
    │       └── service.log
    └── userC
        └── serviceA
            └── service.log

    ファイルパス抽出を設定し、正規表現を使用してフルパスから重要な情報を抽出します。一致した結果はトピックとして Logstore にアップロードされます。

    ファイルパス抽出ルール:正規表現のキャプチャグループに基づく

    正規表現を設定すると、システムはキャプチャグループの数および命名に基づいて自動的に出力フィールド形式を決定します。ルールは以下のとおりです。

    ファイルパスの正規表現では、スラッシュ (/) をエスケープする必要があります。

    キャプチャグループタイプ

    ユースケース

    生成されるフィールド

    正規表現の例

    一致するパスの例

    生成されるフィールドの例

    単一キャプチャグループ (1 つのみ (.*?))

    ソースを区別するために 1 つのディメンションのみが必要 (ユーザー名または環境など)

    __topic__ フィールドを生成

    \/logs\/(.*?)\/app\.log

    /logs/userA/app.log

    __topic__: userA

    複数キャプチャグループ - 名前なし (複数の (.*?))

    ソースを区別するために複数のディメンションが必要だが、セマンティックタグは不要

    __tag__:__topic_{i}__ タグフィールドを生成。ここで {i} はキャプチャグループの序数

    \/logs\/(.*?)\/(.*?)\/app\.log

    /logs/userA/svcA/app.log

    __tag__:__topic_1__userA

    __tag__:__topic_2__svcA

    複数キャプチャグループ - 名前付き ((?P<name>.*?) を使用)

    ソースを区別するために複数のディメンションが必要で、フィールドの意味を明確にしてクエリおよび分析を容易にしたい場合

    __tag__:{name} タグフィールドを生成

    \/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log

    /logs/userA/svcA/app.log

    __tag__:user:userA;

    __tag__:service:svcA

5. 出力構成

デフォルトでは、すべてのログは lz4 圧縮で現在の Logstore に送信されます。同じソースからのログを異なる Logstore に送信するには、以下の手順に従います。

複数のターゲットへの動的配布

重要
  • ログを複数のターゲットに送信する機能は、LoongCollector 3.0.0 以降でのみ利用可能です。Logtail ではこの機能はサポートされていません。

  • 最大 5 つの出力ターゲットを設定できます。

  • 複数の出力ターゲットを設定すると、現在の Logstore の収集構成リストには収集構成が表示されなくなります。マルチターゲット配布構成を表示、変更、または削除するには、「マルチターゲット配布構成を管理する方法は?」をご参照ください。

操作手順出力構成セクションのLogtail 構成ページで

  1. imageをクリックして出力構成を展開します。

  2. [出力先の追加] をクリックし、以下の設定を行います。

    • Logstore:ターゲット Logstore を選択します。

    • 圧縮方法lz4 または zstd を選択します。

    • ルート設定:タグフィールドに基づいてログをルーティングします。ルーティングルールに一致するログはターゲット Logstore に送信されます。この構成が空の場合、収集されたすべてのログがターゲット Logstore に送信されます。

      • タグ名:ルーティングに使用するタグフィールドの名前。フィールド名を直接入力します(例:__path__)。プレフィックス __tag__: は含めないでください。タグフィールドは以下の 2 つのカテゴリに分類されます。

        タグの詳細については、「LoongCollector 収集タグの管理」をご参照ください。
        • エージェント関連:収集エージェントに関連し、プラグインとは無関係なタグ。例:__hostname____user_defined_id__

        • 入力プラグイン関連:入力プラグインに依存し、ログに関連情報を追加および強化するタグ。例:ファイル収集の __path__、Kubernetes 収集の _pod_name_ および _container_name_

      • タグ値:ログのタグ値がこの値に一致する場合、そのログはこのターゲット Logstore に送信されます。

      • このタグフィールドを破棄するかどうか:このオプションを有効にすると、アップロードされたログからこのタグフィールドが削除されます。

ステップ 3:クエリおよび分析構成

ログ処理およびプラグインの設定が完了したら、[次へ] をクリックして クエリおよび分析構成 ページに移動します。

  • 全文インデックス はデフォルトで有効になっており、生ログコンテンツのキーワード検索をサポートします。

  • フィールドによる正確なクエリを行うには、プレビューデータ の読み込みを待ってから、[自動インデックス生成] をクリックします。SLS はプレビューデータの最初のエントリに基づいて フィールドインデックス を生成します。

構成が完了したら、[次へ] をクリックして収集プロセス全体の設定を完了します。

ステップ 4:検証およびトラブルシューティング

構成が完了したら、マシングループに適用して保存します。しばらく待ってから、以下のチェックリストを使用して検証を行ってください。

検証チェックリスト

  1. ログファイルに新しいコンテンツがあることを確認:LoongCollector は増分ログのみを収集します。tail -f /path/to/your/log/file を実行してビジネス操作をトリガーし、新しいログが書き込まれていることを確認します。

  2. LoongCollector ステータスの確認sudo /etc/init.d/loongcollectord status

  3. マシングループハートビートの確認imageリソース > マシングループ ページに移動します。対象のマシングループ名をクリックします。マシングループ構成 > マシングループステータス セクションで、ハートビート ステータスを確認します。

    • ハートビートが OK の場合、マシングループは SLS プロジェクトに接続されています。

    • ハートビートが FAIL の場合、「マシングループハートビートが FAIL になる」を参照してトラブルシューティングを行ってください。

  4. ログのクエリ:対象 Logstore のクエリおよび分析ページに移動します。[検索 & 分析] (デフォルトの時間範囲は過去 15 分) をクリックして、新しいログが流入しているかどうかを確認します。

一般的な問題のトラブルシューティング

マシングループハートビートが FAIL になる

  1. ユーザー ID の確認:サーバーが ECS インスタンスでない場合、または ECS インスタンスとプロジェクトが異なる Alibaba Cloud アカウントに属している場合、指定されたディレクトリに正しいユーザー ID が存在するかどうかを確認します。存在しない場合は、以下のコマンドを実行して手動で作成します。

    • Linux:cd /etc/ilogtail/users/ && touch <uid> コマンドを実行してユーザー ID ファイルを作成します。

    • Windows:C:\LogtailData\users\ ディレクトリに <uid> という名前の空のファイルを作成します。

  2. マシングループ ID の確認:マシングループを作成する際にカスタム ID を使用した場合、指定されたディレクトリに user_defined_id ファイルが存在するかどうかを確認します。存在する場合は、ファイルの内容がマシングループに設定されたカスタム ID と一致しているかどうかを確認します。

    • Linux:

      # カスタム ID を設定します。ディレクトリが存在しない場合は手動で作成してください。
      echo "user-defined-1" > /etc/ilogtail/user_defined_id
    • Windows:C:\LogtailData ディレクトリに user_defined_id という名前の新しいファイルを作成し、カスタム ID を書き込みます。(ディレクトリが存在しない場合は手動で作成してください。)

  3. ユーザー ID およびマシングループ ID の両方が正しく設定されている場合、「LoongCollector (Logtail) マシングループの問題のトラブルシューティング」を参照してさらに調査を行ってください。


データが収集されない

  1. 増分ログの確認:LoongCollector (Logtail) の収集を設定した後、ターゲットログファイルに新しいログが追加されない場合、LoongCollector (Logtail) はそのファイルからデータを収集しません。

  2. マシングループハートビートステータスの確認imageリソース > マシングループ ページに移動します。対象のマシングループ名をクリックします。マシングループ構成 > マシングループステータス セクションで、ハートビート ステータスを確認します。

    • ハートビートが OK の場合、マシングループは SLS プロジェクトに接続されています。

    • ハートビートが FAIL の場合、「マシングループハートビートが FAIL になる」を参照してトラブルシューティングを行ってください。

  3. LoongCollector (Logtail) 収集構成がマシングループに適用されていることを確認:LoongCollector (Logtail) 収集構成を作成しても、マシングループに適用されていないとログは収集できません。

    1. imageリソース > マシングループ ページに移動し、対象のマシングループ名をクリックして、マシングループ構成 ページに移動します。

    2. ページで、構成の管理 を表示します。左側には すべての Logtail 構成 が表示され、右側には 適用済み Logtail 構成 が表示されます。対象の LoongCollector (Logtail) 収集構成が右側の適用エリアに移動されている場合、構成は対象のマシングループに正常に適用されています。

    3. 対象の LoongCollector (Logtail) 収集構成が右側の適用エリアに移動されていない場合、[変更] をクリックします。左側の すべての Logtail 構成 リストで対象の LoongCollector (Logtail) 構成名を選択し、imageをクリックして右側の適用エリアに移動させ、[保存] をクリックします。


ログ収集エラーまたはフォーマットエラー

トラブルシューティング:この状況はネットワーク接続および基本構成が正常であることを示しています。問題はログコンテンツと解析ルールの不一致である可能性が高いです。具体的なエラーメッセージを確認して問題を特定する必要があります。

  1. Logtail 構成 ページで、収集エラーが発生している LoongCollector (Logtail) 構成名をクリックします。ログ収集エラー タブで、[時間範囲の選択] をクリックしてクエリ時間を設定します。

  2. 収集例外モニタリング > 完全なエラー情報 セクションで、エラーログのアラートメトリックを表示し、「データ収集の一般的なエラー」で対応する解決策を見つけます。

制限事項

項目

制限事項

単一ログの長さ

デフォルトの制限は 512 KB です。max_read_buffer_size 起動パラメーターを使用して調整でき、最大 8 MB まで設定可能です。詳細については、「Logtail ネットワークタイプ、起動パラメーター、および構成ファイル」をご参照ください。

複数行ログが「先頭行に一致する正規表現」で分割された後も、各ログのサイズ制限は 512 KB のままです。ログが 512 KB を超える場合、強制的に複数のエントリに分割されて収集されます。たとえば、単一ログが 1,025 KB の場合、最初の 512 KB が処理され、次に次の 512 KB、最後に残りの 1 KB が処理されます。最終結果は複数の不完全なログエントリとなります。

ファイルエンコーディング

UTF-8 または GBK エンコーディングのログファイルをサポートします。より良い処理パフォーマンスを得るには UTF-8 を使用してください。

警告

ログファイルが他のエンコーディングフォーマットを使用している場合、文字化けやデータ損失などの問題が発生する可能性があります。

ログファイルローテーション

ログローテーションキューのデフォルトサイズは 20 です。logreader_max_rotate_queue_size 起動パラメーターを使用して調整できます。詳細については、「Logtail ネットワークタイプ、起動パラメーター、および構成ファイル」をご参照ください。

収集パスを xxx.log または xxx.log* 形式に設定します。

重要

同じ Logtail インスタンス内でこれらの 2 つの形式を混在させないでください。そうしないと、同じファイルが複数の Logtail 収集構成に一致し、重複収集が発生する可能性があります。

20 個を超えるファイルがまだ処理されていない場合、新しく生成されたログは失われます。このような場合は、まず Logstore シャード書き込みクォータが超過していないかどうかを確認し、Logtail の並行度レベルを調整します。詳細については、「Logtail ネットワークタイプ、起動パラメーター、および構成ファイル」をご参照ください。

ログ解析がブロックされた場合の収集動作

ログ解析がブロックされると、Logtail はそのログファイルのファイル記述子をオープンしたままにします。これにより、ブロッキング中にファイルが削除されてデータが失われるのを防ぎます。

解析がブロックされている間に複数のログファイルローテーションが発生した場合、Logtail はファイルをローテーションキューに配置します。

正規表現

Perl 互換正規表現 (PCRE) をサポートします。

JSON

標準 JSON (RFC7159ECMA-404) を完全にサポートします。標準外の JSON(例:{"name": "\xE5\xAD\xA6"})はサポートされていません。

ファイルオープン動作

Logtail は収集されたファイルおよびローテーションキュー内のファイルをオープンしたままにして、データ整合性を確保します。ファイルは以下の状況でクローズされます。

  • ファイルは5分以上変更されていません。

  • ローテーションが実行され、コレクションが完了しました。

  • Logtail 収集構成が変更された場合。

ファイルが完全に収集されているかどうか、またはまだ書き込み中であるかどうかに関係なく、ファイルが削除された後に制御可能な時間内にファイルハンドルを解放したい場合は、force_release_deleted_file_fd_timeout 起動パラメーターを使用してタイムアウトを設定します。詳細については、「Logtail ネットワークタイプ、起動パラメーター、および構成ファイル」をご参照ください。

初期ログ収集動作

Logtail は増分ログファイルのみを収集します。ファイルが初めて変更されたと検出されたとき、サイズが 1 MB (コンテナ標準出力の場合は 512 KB) を超える場合、最後の 1 MB から収集を開始します。それ以外の場合は、ファイルの先頭から収集を開始します。

新規ファイルの初期収集サイズを調整するには、Logtail 収集構成の tail_size_kb パラメーターを使用します。詳細については、「Logtail 構成 (旧バージョン)」をご参照ください。

Logtail 収集構成が適用された後、ログファイルが変更されない場合、Logtail はそのファイルを収集しません。履歴ファイルを収集するには、「履歴ログファイルのインポート」をご参照ください。

ファイルが上書きされた場合の動作

Logtail は inode とファイルの先頭 1,024 バイトのハッシュを使用してファイルを識別します。ファイルが上書きされ、inode または先頭 1,024 バイトのハッシュが変更された場合、ファイルは新しいファイルとして扱われ、先頭から収集が開始されます。それ以外の場合は、収集されません。

ファイルが移動された場合の動作

ファイルが移動された後、以前にこのファイルに一致したことのない Logtail 収集構成に一致する場合、移動されたドキュメントは新しいファイルとして扱われ、先頭から収集が開始されます。それ以外の場合は、収集されません。

ファイル収集履歴

Logtail はファイル収集履歴をメモリに保持して、ファイルが変更された後に増分部分のみが収集されることを保証します。保持範囲外のログに書き込みが発生した場合、重複収集が発生します。

  • デフォルトでは、過去 1 か月分の履歴ファイルが保持されます。

  • 同じディレクトリ内に 5,000 個を超える履歴ファイルがある場合、過去 1 週間分のレコードのみが保持されます。

  • 同じディレクトリ内に 10,000 個を超える履歴ファイルがある場合、過去 1 日分のレコードのみが保持されます。

非標準テキストログ

\0 を含むログ行の場合、2.1.10 および 3.0.12 以降のバージョンでは、ログの中間にある \0 のみが保持されます。プレフィックスおよびサフィックスの \0 部分は破棄されます。他のバージョンでは、最初の \0 で切り捨てられるか、完全に保持される場合があります。アップグレードすることを推奨します。他のエスケープ文字 (ASCII カラーなど) または不可視文字については、Logtail はそのまま報告します。

課金

  • LoongCollector または Logtail のインストールは無料です。

  • ログのインジェスト、ストレージ、インデックス作成、クエリ、変換、配送に対して、Logstore の課金方法に基づいて料金が発生します。

  • インストールまたは構成中に Global Accelerator 機能を使用する場合、アクセラレーションネットワーク経由で転送されるデータに対して追加のトラフィック料金が発生します。

よくある質問

マルチターゲット配布構成を管理する方法は?

マルチターゲット配布構成は複数の Logstore に関連付けられています。これらの構成はプロジェクトレベルの管理ページから管理します。

  1. Simple Log Service コンソールにログインし、対象のプロジェクトの名前をクリックします。

  2. プロジェクトページで、左側のナビゲーションウィンドウから image リソース > 構成 を選択します。

    説明

    このページはプロジェクト内のすべての収集構成を一元的に管理します。関連付けられた Logstore が誤って削除された後も残っている構成も含まれます。

ECS サーバーから別の Alibaba Cloud アカウントのプロジェクトにログを送信する方法は?

LoongCollector が未インストールの場合は、「データ収集エージェントのインストール」を参照し、適切なクロスアカウントユースケースを選択してインストールします。

LoongCollector がすでにインストールされている場合は、以下の手順に従ってユーザー ID を設定します。この ID は、サーバーが SLS プロジェクトを所有するアカウントによるアクセスおよびログ収集の許可を持っていることを示します。

非アカウント ECS インスタンス、オンプレミスサーバー、または他のクラウドプロバイダーのサーバーからログを収集する場合にのみ、ユーザー ID を設定する必要があります。
  1. SLS を所有する Alibaba Cloud アカウントの ID をコピーします。右上隅のプロファイル画像にマウスを合わせます。表示されるタブからアカウント ID を表示およびコピーします。

  2. ログを収集するサーバーにログインし、Alibaba Cloud アカウント ID ファイルを作成してユーザー ID を設定します。

    touch /etc/ilogtail/users/{Alibaba_Cloud_account_ID} # /etc/ilogtail/users ディレクトリが存在しない場合は手動で作成してください。ユーザー ID 構成ファイルにはファイル名のみが必要で、ファイル拡張子は不要です。

ECS サーバーから同じアカウントだが異なるリージョンのプロジェクトにログを送信する方法は?

LoongCollector が未インストールの場合は、「データ収集エージェントのインストール」を参照し、適切なクロスリージョンユースケースを選択してインストールします。

LoongCollector がすでにインストールされている場合は、LoongCollector 構成を変更する必要があります。

  1. sudo /etc/init.d/ilogtaild stop コマンドを実行して LoongCollector を停止します。

  2. LoongCollector 起動構成ファイル ilogtail_config.json を変更します。ネットワーク要件に基づいて以下の 2 つの方法のいずれかを選択します。

    構成ファイルパス:/usr/local/ilogtail/ilogtail_config.json

    • 方法 1:インターネット経由で転送

      RegionID」を参照し、構成ファイル内のリージョンを SLS が配置されているリージョンに置き換えます。変更するフィールドは以下のとおりです。

      • primary_region

      • config_servers 内のリージョン部分

      • data_servers 内の region および endpoint_list のリージョン部分

    • 方法 2:転送アクセラレーションを使用

      data_server_list パラメーターのエンドポイント行を log-global.aliyuncs.com に置き換えます。ファイルパスの詳細については、「Logtail ネットワークタイプ、起動パラメーター、および構成ファイル」をご参照ください。

    構成ファイルの例

    $cat 
    {
        "primary_region" : "cn-shanghai",
        "config_servers" :
        [
            "http://logtail.cn-shanghai.log.aliyuncs.com"
        ],
        "data_servers" :
        [
            {
                "region" : "cn-shanghai",
                "endpoint_list": [
                    "cn-shanghai.log.aliyuncs.com"
                ]
            }
        ],
        "cpu_usage_limit" : 0.4,
        "mem_usage_limit" : 384,
        "max_bytes_per_sec" : 20971520,
        "bytes_per_sec" : 1048576,
        "buffer_file_num" : 25,
        "buffer_file_size" : 20971520,
        "buffer_map_num" : 5
    }
  1. sudo /etc/init.d/ilogtaild start コマンドを実行して LoongCollector を起動します。

既存のマシングループにサーバーを追加する方法は?

構成済みのマシングループがあり、新しくデプロイされた ECS インスタンスやオンプレミスサーバーなどの新しいサーバーを追加して、その収集構成を継承したい場合は、以下の手順に従ってバインドします。

前提条件:

操作手順:

  1. 対象のマシングループ ID を表示します。

    1. 対象プロジェクトページで、左側のナビゲーションウィンドウから imageリソース > マシングループ をクリックします。

    2. マシングループページで、対象のマシングループ名をクリックします。

    3. マシングループ構成ページで、マシングループ ID を表示します。

  2. ID タイプに基づいて対応する操作を実行します。

    説明

    1 つのマシングループに Linux および Windows サーバーを同時に含めることはできません。Linux および Windows サーバーの両方に同じカスタム ID を設定しないでください。1 つのサーバーに複数のカスタム ID を設定できます。複数の ID は改行で区切ります。

    • タイプ 1:マシングループ ID が IP アドレス

      1. サーバーで、以下のコマンドを実行して app_info.json ファイルを開き、ip 値を表示します。

        cat /usr/local/ilogtail/app_info.json
      2. 対象のマシングループ構成ページで、[変更] をクリックし、サーバーの IP アドレスを入力します。複数の IP アドレスは改行で区切ります。

      3. 構成が完了したら、[保存] をクリックし、ハートビートステータスを確認します。ハートビートが OK になった後、サーバーは自動的にマシングループの収集構成を適用します。

        ハートビートステータスが FAIL の場合は、「マシングループハートビートが FAIL になる」を参照してさらにトラブルシューティングを行ってください。
    • タイプ 2:マシングループ ID がカスタム ID

      オペレーティングシステムに応じて、対象のマシングループと一致するカスタム ID 文字列を指定されたファイルに書き込みます。

      ディレクトリが存在しない場合は手動で作成する必要があります。ファイルパスおよび名前は SLS によって固定されており、カスタマイズできません。
      • Linux:カスタム文字列を /etc/ilogtail/user_defined_id ファイルに書き込みます。

      • Windows:カスタム文字列を C:\LogtailData\user_defined_id に書き込みます。

他のプロジェクトから収集構成をインポートする方法は?

事前準備」および「マシングループ構成」が完了したら、既存のプロジェクトから現在の Logstore に収集構成を迅速にインポートできます。これにより、繰り返しの構成を回避し、効率を向上させます。

操作手順:

  1. マシングループ構成」が完了したら、[次へ] をクリックして Logtail 構成 ページに移動します。

  2. ページ右上隅の [他の構成のインポート] をクリックします。

  3. インポート元のプロジェクトおよびそのプロジェクト下の収集構成を選択します。

  4. [OK] をクリックします。システムは選択した構成を自動的に読み込みます。

  5. インポートされた構成情報が正しいことを確認したら、次へをクリックして「クエリおよび分析構成」ページに移動し、後続の構成を完了します。

マシングループ ID として使用するサーバーの IP アドレスを取得する方法は?

LoongCollector (Logtail) がインストールされているサーバーで、/usr/local/ilogtail/app_info.json ファイルを開き、ip 値を表示します。

Logtail が自動的に取得したサーバー IP アドレスは、app_info.json ファイルの ip フィールドに記録されています(下記参照)。IP地址

重要
  • 複数のサーバーがある場合は、対応する IP アドレスを手動で入力します。IP アドレスは改行で区切る必要があります。

  • 1 つのマシングループに Linux および Windows サーバーを同時に含めることはできません。Windows および Linux サーバーの両方の IP アドレスを同じマシングループに追加しないでください。

同じログファイルを複数の収集構成で同時に収集する方法は?

デフォルトでは、データの重複を避けるために、SLS はテキストログファイルが 1 つ以上の Logtail 構成によって収集されることを制限しています。同じログファイルを複数の収集構成で同時に収集できるようにするには、ファイルを複数回収集できる機能を手動で有効にする必要があります。

操作手順:

重要

複数のコピーを収集すると、ファイル読み取り IO、計算リソース、ネットワーク IO が線形に増加します。

  1. [Simple Log Service コンソール]にログインし、対象のプロジェクトに移動します

  2. 左側のナビゲーションウィンドウで、imageLogstores を選択し、対象の Logstore を見つけます。

  3. その名前の前のimageアイコンをクリックして Logstore を展開します。

  4. [Logtail 構成] をクリックします。構成リストで対象の Logtail 構成を見つけ、アクション列の [Logtail 構成の管理] をクリックします。

  5. Logtail 構成ページで、[編集] をクリックします。

    • 入力構成 > その他の入力構成 で、[ファイルを複数回収集することを許可] を有効にします。

  6. 構成が完了したら、[保存] をクリックします。

最後のログエントリが長時間遅れて報告されるのはなぜですか?また、時々切り捨てられるのはなぜですか?

原因: ログの切り捨ては通常、ログファイルの末尾に改行が不足している場合、または例外スタックなどの複数行ログが完全に書き込まれていない場合に発生します。エージェントがログが終了したかどうかを判断できないため、コンテンツの最後の部分が早すぎる分割または遅延報告される可能性があります。LoongCollector (Logtail) の異なるバージョンでは、異なる処理メカニズムがあります。

  • 1.8 より前のバージョン:
    ログの最後の行に改行(キャリッジリターン)がない場合、または複数行ログの段落が完了していない場合、エージェントは次の書き込みをトリガーとして出力を待ちます。これにより、最後のログエントリが新しいログが書き込まれるまで長時間保持され、送信されないことがあります。

  • 1.8 以降のバージョン:
    ログがスタックすることを防ぐために、タイムアウトリフレッシュメカニズムが導入されました。不完全なログ行が検出されると、システムはタイマーを開始します。タイムアウト後、現在のコンテンツを自動的に送信し、ログが最終的に収集されることを保証します。

    • デフォルトのタイムアウト:60 秒(ほとんどのユースケースで完全性を確保)

    • 必要に応じてこの値を調整できますが、ログの切り捨てまたは部分的なコンテンツ損失を引き起こす可能性があるため、0 に設定しないでください。

解決策:

完全なログが収集される前に書き込まれるように、待機時間を延長します。

  1. Simple Log Serviceコンソールにログインし、対象プロジェクトに移動します。

  2. 左側のナビゲーションウィンドウで、imageLogstores を選択し、対象の Logstore を見つけます。

  3. その名前の前のimageアイコンをクリックして Logstore を展開します。

  4. [Logtail 構成] をクリックします。構成リストで対象の Logtail 構成を見つけ、アクション列の [Logtail 構成の管理] をクリックします。

  5. Logtail 構成ページで、[編集] をクリックします。

    • 入力構成 > その他の入力構成 > 高度なパラメーター で、以下の JSON 構成を追加してタイムアウトをカスタマイズします。

      {
        "FlushTimeoutSecs": 1
      }
      • デフォルト値:起動パラメーター default_reader_flush_timeout によって決定されます(通常は数秒)。

      • 単位:秒。

      • 推奨値:≥1 秒。ログの切り捨てまたは部分的なコンテンツ損失を引き起こす可能性があるため、0 に設定しないでください。

  6. 構成が完了したら、[保存] をクリックします。

LoongCollector (Logtail) が稼働中に内部エンドポイントからインターネットに切り替わるのはなぜですか?自動的に戻ることはできますか?

稼働中に、LoongCollector (Logtail) が内部の同一リージョンエンドポイントとの通信異常(ネットワーク障害や接続タイムアウトなど)を検出した場合、システムは自動的にパブリックドメイン名に切り替えてデータを送信します。これにより、ログ収集の継続性および信頼性が確保され、ログのバックログや損失を防ぎます。

  • LoongCollector:内部ネットワークが回復すると自動的に戻ります。

  • Logtail:自動的には戻りません。内部ネットワーク通信を再開するには手動で再起動する必要があります。

付録:ネイティブプロセッサーの詳細

プロセッサー構成セクションのLogtail 構成ページで、プロセッサーを追加して生ログを構造化します。既存の収集構成に処理プラグインを追加するには、以下の手順に従います。

  1. 左側のナビゲーションウィンドウで、imageLogstores を選択し、対象の Logstore を見つけます。

  2. その名前の前のimageアイコンをクリックして Logstore を展開します。

  3. [Logtail 構成] をクリックします。構成リストで対象の Logtail 構成を見つけ、アクション列の [Logtail 構成の管理] をクリックします。

  4. Logtail 構成ページで、[編集] をクリックします。

このセクションでは、一般的なログ処理ユースケースをカバーする一般的に使用される処理プラグインのみを紹介します。その他の機能については、「拡張プロセッサー」をご参照ください。
重要

プラグイン組み合わせのルール (LoongCollector / Logtail 2.0 以降向け):

  • ネイティブおよび拡張プロセッサーは、必要に応じて個別または組み合わせて使用できます。

  • パフォーマンスおよび安定性が高いため、ネイティブプロセッサーを優先してください。

  • ネイティブ機能がビジネスニーズを満たせない場合、構成済みのネイティブプロセッサーの後に拡張プロセッサーを追加して補完処理を行ってください。

順序制約:

すべてのプラグインは構成された順序で順次実行され、処理チェーンを形成します。注:すべてのネイティブプロセッサーは、任意の拡張プロセッサーの前に配置する必要があります。拡張プロセッサーを追加した後は、ネイティブプロセッサーを追加できなくなります。

正規表現解析

正規表現を使用してログフィールドを抽出し、ログをキーと値のペアに解析します。各フィールドは個別にクエリおよび分析できます。

例:

処理されていない生ログ

正規表現解析プラグインを使用

127.0.0.1 - - [16/Aug/2024:14:37:52 +0800] "GET /wp-admin/admin-ajax.php?action=rest-nonce HTTP/1.1" 200 41 "http://www.example.com/wp-admin/post-new.php?post_type=page" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0"
body_bytes_sent: 41
http_referer: http://www.example.com/wp-admin/post-new.php?post_type=page
http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0
remote_addr: 127.0.0.1
remote_user: -
request_method: GET
request_protocol: HTTP/1.1
request_uri: /wp-admin/admin-ajax.php?action=rest-nonce
status: 200
time_local: 16/Aug/2024:14:37:52 +0800

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データ解析 (正規表現モード) を選択します。

  • 正規表現:ログに一致させる式。自動生成または手動で入力します。

    • 自動生成:

      • [生成] をクリックします。

      • [ログサンプル] で、抽出するログコンテンツを選択します。

      • [正規表現の生成] をクリックします。

        image

    • 手動入力:ログフォーマットに基づいて [正規表現を手動で入力] します。

    構成後、[検証] をクリックして、正規表現がログコンテンツを正しく解析できるかどうかをテストします。

  • 抽出フィールド:抽出されたログコンテンツ (値) に対応するフィールド名 (キー)。

  • その他のパラメーターについては、「ユースケース 2:構造化ログ」の一般的な構成パラメーターの説明をご参照ください。


セパレーター解析

セパレーターを使用してログコンテンツを構造化し、複数のキーと値のペアに解析します。単一文字および複数文字のセパレーターの両方をサポートします。

例:

処理されていない生ログ

指定された文字 , で分割されたフィールド

05/May/2025:13:30:28,10.10.*.*,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1",200,18204,aliyun-sdk-java
ip:10.10.*.*
request:POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1
size:18204
status:200
time:05/May/2025:13:30:28
user_agent:aliyun-sdk-java

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データ解析 (区切り文字モード) を選択します。

  • 区切り文字:ログコンテンツを分割するために使用する文字を指定します。

    例:CSV ファイルの場合、[カスタム] を選択してカンマ (,) を入力します。

  • 引用符:フィールド値にセパレーターが含まれている場合、フィールド値を引用符で囲む必要があります。これにより、誤った分割を防げます。

  • 抽出フィールド:出現順に各列のフィールド名 (キー) を指定します。ルールは以下のとおりです。

    • フィールド名には英数字およびアンダースコア (_) のみを使用できます。

    • 英字またはアンダースコア (_) で始まる必要があります。

    • 最大長:128 バイト。

  • その他のパラメーターについては、「ユースケース 2:構造化ログ」の一般的な構成パラメーターの説明をご参照ください。


標準 JSON 解析

オブジェクト型 JSON ログをキーと値のペアに解析して構造化します。

例:

処理されていない生ログ

標準 JSON キーと値のペアを自動抽出

{"url": "POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek********&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.220", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "18204"}, "time": "05/Jan/2025:13:30:28"}
ip: 10.200.98.220
request: {"status": "200", "latency" : "18204" }
time: 05/Jan/2025:13:30:28
url: POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek******&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1
user-agent:aliyun-sdk-java

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データ解析 (JSON モード) を選択します。

  • 元のフィールド:解析対象の生ログを含むフィールド。デフォルト値は content です。

  • その他のパラメーターについては、「ユースケース 2:構造化ログ」の一般的な構成パラメーターの説明をご参照ください。


ネストされた JSON 解析

ネストされた JSON ログを展開深度を指定してキーと値のペアに解析します。

例:

処理されていない生ログ

展開深度:0、展開深度をプレフィックスとして使用

展開深度:1、展開深度をプレフィックスとして使用

{"s_key":{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}}
0_s_key_k1_k2_k3_k41:41
0_s_key_k1_k2_k3_k4_k51:51
0_s_key_k1_k2_k3_k4_k52:52
1_s_key:{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、拡張プロセッサー > JSON フィールドの展開 を選択します。

  • 元のフィールド:展開するソースフィールドの名前を指定します(例:content)。

  • JSON 展開深度:JSON オブジェクトの展開深度。0(デフォルト)は完全展開を示し、1 は現在のレベルの展開を示します。

  • 展開されたキーを連結する文字:JSON オブジェクトが展開されたときのフィールド名のセパレーター。デフォルト値はアンダースコア (_) です。

  • 展開されたキーの名前プレフィックス:JSON 展開後のフィールド名のプレフィックス。

  • 配列の展開:配列をインデックス付きのキーと値のペアに展開します。

    例:{"k":["a","b"]}{"k[0]":"a","k[1]":"b"} に展開されます。

    展開されたフィールドの名前を変更する場合(例:prefix_s_key_k1 を new_field_name に変更)、その後にフィールド名変更プラグインを追加してマッピングを完了します。
  • その他のパラメーターについては、「ユースケース 2:構造化ログ」の一般的な構成パラメーターの説明をご参照ください。


JSON 配列解析

json_extract 関数 を使用して、JSON 配列から JSON オブジェクトを抽出します。

例:

処理されていない生ログ

JSON 配列構造を抽出

[{"key1":"value1"},{"key2":"value2"}]
json1:{"key1":"value1"}
json2:{"key2":"value2"}

操作手順: プロセッサー構成セクションのLogtail 構成ページで、処理モードSPL に切り替え、SPL ステートメント を構成し、json_extract 関数を使用して JSON 配列から JSON オブジェクトを抽出します。

例: ログフィールド content 内の JSON 配列の要素を抽出し、結果を新しいフィールド json1 および json2 に格納します。

* | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')

Apache ログ解析

Apache ログ構成ファイルの定義に基づいて、ログコンテンツを複数のキーと値のペアに構造化します。

例:

処理されていない生ログ

Apache 共通ログフォーマット combined 解析

1 192.168.1.10 - - [08/May/2024:15:30:28 +0800] "GET /index.html HTTP/1.1" 200 1234 "https://www.example.com/referrer" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36"
http_referer:https://www.example.com/referrer
http_user_agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36
remote_addr:192.168.1.10
remote_ident:-
remote_user:-
request_method:GET
request_protocol:HTTP/1.1
request_uri:/index.html
response_size_bytes:1234
status:200
time_local:[08/May/2024:15:30:28 +0800]

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データ解析 (Apache モード) を選択します。

  • ログフォーマットcombined です。

  • APACHE LogFormat 構成 は、ログフォーマット に基づいて自動的に入力されます。

    重要

    自動入力された内容が、サーバーの Apache 構成ファイル(通常は /etc/apache2/apache2.conf)で定義された LogFormat と完全に一致していることを確認してください。

  • その他のパラメーターについては、「ユースケース 2:構造化ログ」の一般的な構成パラメーターの説明をご参照ください。


IIS ログ解析

IIS ログフォーマット定義に基づいて、ログコンテンツを複数のキーと値のペアに構造化します。

比較例:

生ログ

Microsoft IIS サーバー固有のフォーマットに適合

#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
c-ip: cs-username
cs-bytes: sc-substatus
cs-method: cs-method
cs-uri-query: cs-uri-query
cs-uri-stem: cs-uri-stem
cs-username: s-port
date: #Fields:
s-computername: s-sitename
s-ip: s-ip
s-sitename: time
sc-bytes: sc-status
sc-status: c-ip
sc-win32-status: cs (User-Agent)
time: date
time-taken: sc-win32-status

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データ解析 (IIS モード) を選択します。

  • ログフォーマット:IIS サーバーのログフォーマットを選択します。

    • IIS:Microsoft インターネットインフォメーションサービスのログファイルフォーマット。

    • NCSA:共通ログフォーマット。

    • W3C:W3C 拡張ログファイルフォーマットを指します。

  • IIS 構成フィールド:IIS または NCSA を選択した場合、SLS はデフォルトの IIS 構成フィールドを使用します。W3C を選択した場合、IIS 構成ファイルの logExtFileFlags パラメーターの値にフィールドを設定する必要があります。例:

    logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"
  • その他のパラメーターについては、「ユースケース 2:構造化ログ」の一般的な構成パラメーターの説明をご参照ください。


データマスキング

ログ内の機密データをマスクします。

例:

処理されていない生ログ

マスキング結果

[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]
[{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > データマスキング を選択します。

  • 元のフィールド:解析前のログコンテンツを含むフィールド。

  • データマスキング方法

    • const:機密コンテンツを定数文字列に置き換えます。

    • md5:機密コンテンツをその MD5 ハッシュに置き換えます。

  • 置換文字列データマスキング方法const に設定されている場合、機密コンテンツを置き換える文字列を入力します。

  • 置換コンテンツの前にあるコンテンツ式:機密コンテンツを見つけるために使用する式。これは RE2 構文 を使用して構成されます。

  • 置換コンテンツに一致するコンテンツ式:機密コンテンツに一致させる正規表現。式は RE2 構文 で記述する必要があります。


時間解析

ログ内の時間フィールドを解析し、解析結果をログの __time__ フィールドとして設定します。

例:

処理されていない生ログ

時間解析

{"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}

image

操作手順: プロセッサー構成セクションのLogtail 構成ページで、[プロセッサーの追加] をクリックし、ネイティブプロセッサー > 時間解析 を選択します。

  • 元のフィールド:解析前のログコンテンツを含むフィールド。

  • 時間フォーマット:ログ内のタイムスタンプに対応する時間フォーマットを設定します。

  • タイムゾーン:ログ時間フィールドのタイムゾーンを選択します。デフォルトでは、LoongCollector (Logtail) プロセスが実行されている環境のタイムゾーンになります。

付録:権限ポリシーのリファレンス

Alibaba Cloud アカウントログイン:デフォルトでは、Alibaba Cloud アカウントにはすべての操作を実行できる完全な権限があります。

RAM ユーザーログイン:Alibaba Cloud アカウントは、必要なアクセスポリシーを RAM ユーザーに付与する必要があります。

カスタム権限ポリシー (詳細な制御)

システムポリシーが最小権限の原則を満たさない場合、カスタムポリシーを作成して詳細な権限付与を行います。以下は、これらの権限を含む権限ポリシーの例です。

  • プロジェクトの表示: プロジェクトリストおよび指定されたプロジェクトの詳細を表示します。

  • Logstore の管理: プロジェクト下で Logstore を作成、変更、または削除します。

  • 収集構成の管理: 収集構成を作成、削除、および変更します。

  • ログの表示: 指定されたプロジェクト下の指定された Logstore のデータをクエリおよび分析します。

${regionName}${uid}${projectName}、および ${logstoreName} を実際のリージョン名、Alibaba Cloud アカウント ID、対象プロジェクト、および Logstore に置き換えてください。

ポリシーの例

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:ListProject",
        "log:GetAcceleration",
        "log:ListDomains",
        "log:GetLogging",
        "log:ListTagResources"
      ],
      "Resource": "acs:log:${regionName}:${uid}:project/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:GetProject",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}"
    },
    {
      "Effect": "Allow",
      "Action": [
        "log:ListLogStores",
        "log:*LogStore",
        "log:*Index",
        "log:ListShards",
        "log:GetCursorOrData",
        "log:GetLogStoreHistogram",
        "log:GetLogStoreContextLogs",
        "log:PostLogStoreLogs"
      ],
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:*",
      "Resource": [
        "acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*",
        "acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "log:ListSavedSearch",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:ListDashboard",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/dashboard/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:GetLogStoreLogs",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeTagKeys",
        "ecs:DescribeTags",
        "ecs:DescribeInstances",
        "ecs:DescribeInvocationResults",
        "ecs:RunCommand",
        "ecs:DescribeInvocations",
        "ecs:InvokeCommand"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "oos:ListTemplates",
        "oos:StartExecution",
        "oos:ListExecutions",
        "oos:GetExecutionTemplate",
        "oos:ListExecutionLogs",
        "oos:ListTaskExecutions"
      ],
      "Resource": "*"
    }
  ]
}

権限

操作

リソース

読み取り専用プロジェクト

  • GetAcceleration

  • GetLogging

  • ListProject

  • ListDomains

  • ListTagResources

acs:log:${regionName}:${uid}:project/*

指定されたプロジェクトの取得

GetProject

acs:log:${regionName}:${uid}:project/${projectName}

Logstore の管理

  • ListLogStores

  • *LogStore

  • *Index

  • ListShards

  • GetCursorOrData

  • GetLogStoreHistogram

  • GetLogStoreContextLogs

  • PostLogStoreLogs

acs:log:${regionName}:${uid}:project/${projectName}/*

LoongCollector (Logtail) データインポートの管理

*

  • acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*

  • acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*

クイック検索のクエリ

ListSavedSearch

acs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*

ダッシュボードのクエリ

ListDashboard

acs:log:${regionName}:${uid}:project/${projectName}/dashboard/*

指定された Logstore のログのクエリ

GetLogStoreLogs

acs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}

ECS の操作権限

  • DescribeTagKeys

  • DescribeTags

  • DescribeInstances

  • DescribeInvocationResults

  • RunCommand

  • DescribeInvocations

  • InvokeCommand

*

OOS の操作権限 (オプション)

SLS および ECS インスタンスと同じアカウントおよびリージョンで OOS を使用して LoongCollector (Logtail) を自動インストールする場合にのみ必要です。

  • ListTemplates

  • StartExecution

  • ListExecutions

  • GetExecutionTemplate

  • ListExecutionLogs

  • ListTaskExecutions

*

システム権限ポリシー

システム定義ポリシーを使用する場合、以下の権限を追加することを推奨します。

  • AliyunLogFullAccess:SLS を管理する権限。

  • AliyunECSFullAccess:ECS を管理する権限。

  • (オプション) AliyunOOSFullAccess:OOS を使用して LoongCollector (Logtail) をワンクリックでインストールする場合に必要です。

詳細情報

グローバル構成

パラメーター

説明

構成名

LoongCollector (Logtail) 構成の名前。プロジェクト内で一意である必要があります。作成後は変更できません。

ログトピックタイプ

トピックを生成する方法を選択します。オプションはマシングループトピック、ファイルパス抽出、カスタムです。

高度なパラメーター

グローバル構成に関連するその他のオプションの高度な機能パラメーター。詳細については、「CreateLogtailPipelineConfig」をご参照ください。

入力構成

パラメーター

説明

ファイルパス

ホスト (ECS インスタンスなど) 上のログの場所に基づいて、ログディレクトリおよびファイル名を設定します。

ディレクトリおよびファイル名の両方で完全一致およびワイルドカードモードをサポートします。ファイル名のルールについては、「ワイルドカード一致」をご参照ください。ログパスでサポートされるワイルドカード文字はアスタリスク (*) および疑問符 (?) のみです。

ログファイル検索モードはマルチレイヤーディレクトリ一致で、指定されたディレクトリ (すべてのレベルのサブディレクトリを含む) 内で条件を満たすすべてのファイルが見つかります。例:

  • /apsara/nuwa/**/*.log は、/apsara/nuwa ディレクトリおよびそのサブディレクトリ内の .log 拡張子を持つファイルを示します。

  • /var/logs/app_*/**/*.log は、/var/logs ディレクトリ内の app_* 形式に一致するすべてのディレクトリおよびそのサブディレクトリ内の .log 拡張子を持つファイルを示します。

  • /var/log/nginx/**/access* は、access で始まるファイルを /var/log/nginx ディレクトリおよびそのサブディレクトリ内で示します。

最大ディレクトリ監視深度

ログディレクトリを監視する最大深度を設定します。これは、ファイルパス内のワイルドカード文字 ** が一致できるディレクトリの最大深度です。値が 0 の場合、現在のディレクトリのみを監視します。

ファイルエンコーディング

ログファイルのエンコード形式を選択します。

初回収集サイズ

構成が初めて有効になったとき、一致したファイルの末尾からの開始収集位置を設定します。初期収集サイズは 1,024 KB に設定されます。

  • 初期収集時、ファイルが 1,024 KB より小さい場合、ファイルコンテンツの先頭から収集を開始します。

  • 初期収集時、ファイルが 1,024 KB より大きい場合、ファイルの末尾から 1,024 KB 前から収集を開始します。

値は 0 ~ 10,485,760 KB の範囲で設定できます。

収集ブラックリスト

収集ブラックリストスイッチを有効にした後、収集時に特定のディレクトリまたはファイルを無視するためのブラックリストを設定します。ディレクトリおよびファイル名の完全一致およびワイルドカード一致をサポートします。サポートされるワイルドカード文字はアスタリスク (*) および疑問符 (?) のみです。

重要
  • ファイルパスを設定する際にワイルドカード文字を使用し、それらのパスの一部をフィルタリングする必要がある場合、収集ブラックリストに対応する完全なパスを入力して、ブラックリスト構成が有効になるようにする必要があります。

    たとえば、[ファイルパス]/home/admin/app*/log/*.log に設定し、/home/admin/app1* ディレクトリ配下のすべてのサブディレクトリをフィルターする場合は、[ディレクトリブラックリスト] を選択して、ディレクトリを /home/admin/app1*/** として設定する必要があります。 /home/admin/app1* として設定した場合、ブラックリストは効果がありません。

  • ブラックリストとの一致には計算オーバーヘッドが伴います。ブラックリストエントリの数は 10 以下に抑えてください。

  • ディレクトリパスはスラッシュ (/) で終わってはいけません。例:パスを /home/admin/dir1/ に設定した場合、ディレクトリブラックリストは有効になりません。

必要に応じてファイルパスブラックリスト、ファイルブラックリスト、またはディレクトリブラックリストを設定します。詳細は以下のとおりです。

ファイルパスブラックリスト

  • ファイルパスブラックリストを選択し、パスを /home/admin/private*.log として設定します。これにより、/home/admin/ ディレクトリ内で private で始まり .log で終わるすべてのファイルが無視されます。

  • ファイルパスブラックリストを選択し、パスを /home/admin/private*/*_inner.log として設定します。これにより、/home/admin/ ディレクトリ内で private で始まるディレクトリ内の _inner.log で終わるファイルが無視されます。例として、/home/admin/private/app_inner.log ファイルは無視されますが、/home/admin/private/app.log ファイルは収集されます。

ファイルブラックリスト

[ファイルのブラックリスト] を選択し、ファイル名を app_inner.log に設定します。これにより、収集時に app_inner.log という名前のすべてのファイルが無視されます。

ディレクトリブラックリスト

  • ディレクトリブラックリストを選択し、ディレクトリを /home/admin/dir1 として設定します。これにより、/home/admin/dir1 ディレクトリ内のすべてのファイルが収集時に無視されます。

  • ディレクトリブラックリストを選択し、ディレクトリを /home/admin/dir* として設定します。これにより、/home/admin/ ディレクトリ内で dir で始まるすべてのサブディレクトリ内のファイルが無視されます。

  • ディレクトリブラックリストを選択し、ディレクトリを /home/admin/*/dir として設定します。これにより、/home/admin/ ディレクトリの第 2 レベルにある dir という名前のサブディレクトリ内のすべてのファイルが無視されます。例として、/home/admin/a/dir ディレクトリ内のファイルは無視されますが、/home/admin/a/b/dir ディレクトリ内のファイルは収集されます。

ファイルを複数回収集することを許可

デフォルトでは、ログファイルは 1 つの LoongCollector (Logtail) 構成にしか一致しません。ファイル内のログを複数回収集する必要がある場合は、[ファイルの複数回収集を許可] スイッチを有効にする必要があります。

高度なパラメーター

ファイル入力プラグインに関連するその他のオプションの高度な機能パラメーター。詳細については、「CreateLogtailPipelineConfig」をご参照ください。

プロセッサー構成

パラメーター

説明

ログサンプル

収集するログのサンプル。実際のユースケースからのログを使用してください。ログサンプルはログ処理パラメーターの構成を支援し、構成を簡素化します。複数のサンプルを追加できますが、合計長は 1,500 文字を超えてはいけません。

[2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
    at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
    at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
    at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

複数行モード

  • 複数行ログのタイプ:各エントリが連続する行に分散しているログ。コンテンツから各ログを区別する必要があります。

    • カスタム先頭行に一致する正規表現を使用して各ログを区別します。

    • 複数行 JSON:各 JSON オブジェクトが複数行に展開される場合。例:

      {
        "name": "John Doe",
        "age": 30,
        "address": {
          "city": "New York",
          "country": "USA"
        }
      }
  • 分割失敗時の処理方法:

    Exception in thread "main" java.lang.NullPointerException
        at com.example.MyClass.methodA(MyClass.java:12)
        at com.example.MyClass.methodB(MyClass.java:34)
        at com.example.MyClass.main(MyClass.java:½0)

    上記のログコンテンツで、SLS が分割に失敗した場合:

    • 破棄:このログセグメントを直接破棄します。

    • 単一行として保持:ログテキストの各行を個別のログとして保持し、合計 4 つのログになります。

処理方法

プロセッサーには、ネイティブプロセッサーおよび拡張プロセッサーが含まれます。処理プラグインの詳細については、「ネイティブおよび拡張プロセッサーの使用上の注意」をご参照ください。

重要

処理プラグインの使用に関する制限は、コンソールページのプロンプトに従います。

  • Logtail 2.0:

    • ネイティブプロセッサーは任意の方法で組み合わせることができます。

    • ネイティブおよび拡張プロセッサーを同時に使用できますが、拡張プロセッサーはすべてのネイティブプロセッサーの後にのみ配置できます。

  • Logtail 2.0 より前のバージョン:

    • ネイティブおよび拡張プロセッサーを同時に追加することはサポートされていません。

    • ネイティブプロセッサーはテキストログの収集にのみ使用できます。ネイティブプロセッサーを使用する場合、以下の要件を満たす必要があります。

      • 最初の処理プラグインは、正規表現解析プラグイン、セパレーターモード解析プラグイン、JSON 解析プラグイン、データ解析 (NGINX モード) プラグイン、Apache パターン解析プラグイン、または IIS パターン解析プラグインのいずれかである必要があります。

      • 2 番目から最後の処理プラグインには、最大 1 つの時間解析プラグイン、1 つのデータフィルタリングプラグイン、および複数のマスキングプラグインを含めることができます。

    • 解析失敗時に元のフィールドを保持および解析成功時に元のフィールドを保持パラメーターについては、以下の組み合わせのみが有効です。他の組み合わせは無効です。

      • 正常に解析されたログのみをアップロード:

        image

      • 成功時は解析されたログをアップロードし、失敗時は生ログをアップロード:

        image

      • 解析成功時に、解析されたログをアップロードすると同時に生ログフィールドを追加します。失敗時は生ログをアップロードします。

        例:生ログ "content": "{"request_method":"GET", "request_time":"200"}" が正常に解析された場合、生フィールドを追加すると、解析されたログに別のフィールドが追加されます。フィールド名は元のフィールドの新しい名前(未入力の場合はソースフィールド名がデフォルト)で、フィールド値は生ログ {"request_method":"GET", "request_time":"200"} です。

        image